使用多个选择框在WebMatrix中显示来自SQL db的数据

时间:2014-01-17 21:44:01

标签: c# sql webmatrix

我刚从C#开始,我还在学习这些东西。我尝试使用从选择框填充的多个WHERE子句显示数据。 我发现if(Request.QueryString [“...”]。IsEmpty())

的问题

这仅适用于第一个选择框。如果选中此框,则省略所有下一个框选择。如果未选择第一个框,则不显示任何数据。我怎么解决这个问题?

这是我的代码:

var db = Database.Open("Eason");
var Warranty = Request["Warranty"];
var EbookM = Request["EbookM"];    

if (IsPost) 
{
    Warranty = Request["Warranty"];
    if (Warranty.IsEmpty()) {
       selectQ = "SELECT * FROM E_Reader";}

    Warranty = Request["EbookM"];
    if (EbookM.IsEmpty()) {
       selectQ = "SELECT * FROM E_Reader";}


    if(Request.QueryString["Warranty"].IsEmpty() ) {
    selectQ = "SELECT * FROM E_Reader";
    searchTerm1 = Request.QueryString["Warranty"];
    searchTerm2 =Request.QueryString["EbookM"];

}

var selectedData1 = db.Query(selectQ, searchTerm1, searchTerm2);
var grid = new WebGrid(source: selectedData1, defaultSort: "Ebook_Model", rowsPerPage: 10);

1 个答案:

答案 0 :(得分:0)

排序:)。应该有WHERE ..... AND .....而不是OR - 刚才是

最终代码是:

var db = Database.Open("Eason");
var sqlQ = "SELECT * FROM E_Reader WHERE In_Warranty LIKE @0 AND Ebook_Made LIKE @1";
var Warranty = "%" + Request["Warranty"] + "%";
var Made = "%" + Request["Made"] + "%";

var selectedData = db.Query(sqlQ, Warranty, Made);

var grid = new WebGrid(source: selectedData, defaultSort: "Ebook_Made");