ユーザーが最大3つのフォームにテキストを入力できるフォームを作成しようとしています。各フォームは、SQLServerCEデータベーステーブルの列に対応します。フォームに入力されたテキストに基づいて、ページには、指定されたすべてのテキストを含むすべての行が表示されます(null値はワイルドカードとして扱われます)。
私はこれを1つのフォームでうまく機能させています。フォームテキストは変数の値として割り当てられており、ページ間で問題なく渡されます。クエリに他の2つの列を含める方法がわかりません。
フォームを含む入力ページのコードは次のとおりです。
@{
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とSQLServerCEを使用しています。SQL Server CEにはいくつかの制限があることは知っていますが、初心者である私にとっては使いやすさを楽しんでいます。使用するさまざまなSQLServerプログラムについて誰かが提案を持っている場合、私はそれらを聞いてオープンになります。
ありがとう!
ジェームズ