Как добавить несколько переменных текстового поля в один запрос выбора SQL с помощью бритвы cshtml?
В настоящее время в приведенном ниже коде у меня есть две кнопки поиска и могу запрашивать только то, что находится в каждом поле. Я хочу заполнить оба поля и нажать одну кнопку отправки, и он запрашивает обе переменные. Что-то вроде
{if(!Request.QueryString["searchDateIn"].IsEmpty() )
selectCommand = "SELECT * FROM Data_TimeCards_T WHERE Employeeid = @0
and datein = @1";
searchTerm = Request.QueryString["searchEmployee"];}
Мой код теперь выглядит так
var db = Database.Open("datbasename") ;
var selectCommand = "SELECT * FROM Data_timecards_T";
var searchTerm = "";
if(!Request.QueryString["searchEmployee"].IsEmpty() ) {
selectCommand = "SELECT * FROM Data_TimeCards_T WHERE Employeeid = @0";
searchTerm = Request.QueryString["searchEmployee"];
}
if(!Request.QueryString["searchDateIn"].IsEmpty() ) {
selectCommand = "SELECT * FROM Data_timeCards_t WHERE Datein = @0";
searchTerm = Request.QueryString["searchDateIn"] ;
}
var selectedData = db.Query(selectCommand, searchTerm);
var grid = new WebGrid(source: selectedData, defaultSort: "EmployeeID", rowsPerPage:3);
И тело выглядит так
<form method="get">
<div>
<label for="searchEmployee">Employee to look for:</label>
<input type="text" name="searchEmployee" value="@Request.QueryString["searchEmployee"]" />
<input type="Submit" value="Search Employee" /><br/>
(Leave blank to list all movies.)<br/>
</div>
<div>
<label for="searchDateIn">DateIn contains the following:</label>
<input type="text" name="searchDateIn" value="@Request.QueryString["searchDateIn"]" />
<input type="Submit" value="Search Date In" /><br/>
</div>
</form>
<div>
@grid.GetHtml(
tableStyle: "grid",
headerStyle: "head",
alternatingRowStyle: "alt",
columns: grid.Columns(
grid.Column("DateIn"),
grid.Column("EmployeeID"),
grid.Column("TotalTime")
)
)
</div>
1 ответ
Я смог решить проблему, изменив код на то, что вы видите ниже
var db = Database.Open("database name") ;
var selectCommand = "SELECT * FROM Data_timecards_T";
var searchEmployee = "";
var searchDate = "";}
if(!Request.QueryString["searchEmployee"].IsEmpty() ) {
selectCommand = "SELECT * FROM Data_TimeCards_T WHERE Employeeid = @0 and Datein = @1";
searchEmployee = Request.QueryString["searchEmployee"];
searchDate = Request.QueryString["searchDate"];
}
var selectedData = db.Query(selectCommand, searchEmployee,searchDate);
var grid = new WebGrid(source: selectedData, defaultSort: "EmployeeID", rowsPerPage:3);}
Часть формы теперь выглядит так:
{<form method="get">
<div>
<label for="searchEmployee">Employee to look for:</label>
<input type="text" name="searchEmployee" value="@Request.QueryString["searchEmployee"]" />
<label for="searchDate">DateIn contains the following:</label>
<input type="text" name="searchDate" value="@Request.QueryString["searchDate"]" />
<input type="Submit" value="SearchData" /><br/>
</div>
</form>}