2012-07-22 62 views
0

我試圖創建表單,用戶可以在其中輸入多達3個表單的文本。每個表單將對應於SQL Server CE數據庫表中的列。根據輸入到表單中的文本,頁面將顯示包含所有指定文本的所有行(空值被視爲通配符)。從同一個表中的多個列中選擇行SQL Server CE WebMatrix

我有這個工作正常1形式。表單文本被分配爲一個變量的值,並在頁面之間傳遞沒有問題。我只是不確定如何在查詢中包含其他兩列。

這裏是什麼形式的輸入頁面的代碼:

@{ 
var formValue1 = Request.Form["FN"]; 
var formValue2 = Request.Form["LN"]; 
var formValue3 = Request.Form["CPNY"]; 
if (IsPost) 
{ 
     Response.Redirect("DisplaySearch.cshtml?firstname=" + formValue1); 
     Response.Redirect("DisplaySearch.cshtml?lastname=" + formValue2);  
} 
} 

<form action="" method="post"> 
First Name:<input type="text" ID="FN" name="FN" value=""></input><br> 
Last Name:<input type="text" ID="LN" name="LN"></input><br> 
Company:<input type="text" ID="CPNY" name="CPNY"></input> 
<br> 
<input type="submit" value="Search"></input></form> 

下面是顯示頁面的代碼:

@using WebMatrix.Data 

@{ 
var Keyword1 = Request.QueryString["firstname"]; //Retrieves passed variable from the database search page for First Names 
var Keyword2 = Request.QueryString["lastname"]; //Retrieves passed variable from the database search page for First Names 
var Keyword3 = Request.QueryString["company"]; //Retrieves passed variable from the database search page for First Names 
var db= Database.Open("Orientation"); 
var sqlQ = "SELECT * FROM Orientation WHERE FirstName LIKE @0"; 
var data = db.Query(sqlQ, "%" + Keyword1 + "%"); 
} 

<div class="content-box-main"> 

<ol> 
@foreach(var row in data){ 
<li> 
@row.LastName, @row.FirstName, @row.MiddleName, @row.Email, @row.Company, @row.Date 
</li> 
} 
</ol><br> 

</div> 

幫助是非常感謝!我是創建Web應用程序的小菜鳥,2周前我唯一的編程經驗是Office中奇怪的VBA宏。我將再次提及,我正在使用WebMatrix和SQL Server CE。我知道SQL Server CE有一些限制,儘管我喜歡使用易用性,因爲我是一個noob。如果任何人有任何建議使用不同的SQL Server程序,我會開放的聽取他們的意見。

謝謝!

詹姆斯

回答

0
Response.Redirect("DisplaySearch.cshtml?firstname=" + formValue1 + "&lastname=" + formValue2 + "&company=" + formValue3); 

var sqlQ = "SELECT * FROM Orientation WHERE FirstName LIKE @0 AND LastName LIKE @1 AND Company LIKE @2"; 
var data = db.Query(sqlQ, "%" + Keyword1 + "%", "%" + Keyword2 + "%", "%" + Keyword3 + "%"); 
+0

感謝sblom!這就像一個魅力!如果你願意的話,我也有一個「獎金」問題。如果我想顯示在動態日期範圍內輸入的網頁加載記錄(如今天 - 2個月),該怎麼辦?假設我有一個名爲「日期」的列,記錄輸入記錄時的日期戳記。 – user1544485 2012-07-22 21:52:03

+0

我建議這是一個單獨的問題。我現在必須跑,但其他人也許可以幫助你 - 這將是非常簡單的。 – sblom 2012-07-22 21:56:37

相關問題