我剛剛從C#開始,我仍然在學習這些東西。我嘗試使用從選擇框填充的多個WHERE子句顯示數據。 我發現問題if(Request.QueryString [「...」]。IsEmpty())使用多個選擇框從WebMatrix中的SQL數據庫顯示數據
這隻適用於第一個選擇框。如果選中該框,則所有下一個框選擇被省略。如果第一個框未被選中,則不顯示數據。我如何解決這個問題?
這裏是我的代碼:
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);
我不明白,在你的代碼一些事情:其價值可能「SELECT * FROM E_Reader」''有'selectQ'嗎?你期望其他頁面通過QueryString傳遞值到這個頁面嗎?順便說一句,'Warranty = Request [「EbookM」];'應該可以在'EbookM = Request [「EbookM」];'中更正。也許一些很好的教程作爲[鏈接](http://www.mikesdotnetting.com/Article/180/Displaying-Search-Results-In-A-WebGrid)和[鏈接](http://www.mikesdotnetting.com/文章/ 192/Transfer-Data-Between-ASP.NET-Web-Pages)可能有所幫助。 – GmG
對不起,我昨天真的很累。我知道這個代碼是一場噩夢。這裏是較新的版本,但仍然無法正常工作。 var Warranty = Request [「Warranty」]; var Made = Request [「Made」]; var db = Database.Open(「Eason」); var searchTerm =「」; var selectCommand1 =「SELECT * FROM EMADE」; var selectedEbook1 = db.Query(selectCommand1,searchTerm); var sqlQ =「SELECT * FROM E_Reader WHERE In_Warranty LIKE @ 0 or Ebook_Made LIKE @ 1」; var selectedData = db.Query(sqlQ,Warranty,Made); var grid = new WebGrid(source:selectedData); – Thhhe
我檢查了這些鏈接,但這直到不適合我。 – Thhhe