在一個asp.net web表單,我有: 多行TextBox 按鈕 的GridViewasp.net:如何通過從多行TextBox輸入的TableAdapter查詢
文本框是PRODUCT_ID
的條目。當在文本框中輸入PRODUCT_ID
並點擊按鈕時,它將返回產品表中的行並顯示在GridView中。
我用TableAdapter創建了DataSet。下面是Get方法的查詢:
SELECT PRODUCT_ID, PRODUCT_NAME
FROM TEST.PRODUCT
WHERE (PRODUCT_ID = ?)
下面的代碼:
保護無效Button2_Click(對象發件人,EventArgs的) { 短ID = short.Parse(TextBox2.Text);
MyDataSetTableAdapters.PRODUCTTableAdapter idDS = new PRODUCTTableAdapter();
MyDataSet.PRODUCTDataTable idDT = idDS.GetID(id);
GridView2.DataSource = idDT;
GridView2.DataBind();
}
它在我只在文本框中輸入一個PRODUCT_ID
時有效。例如,
如果我輸入「8」,它將顯示來自PRODUCT表的行,其中PRODUCT_ID = 8;
如果我輸入「9」時,它會從產品表,其中PRODUCT_ID = 9.
的想法是在TextBox(一個或多個)和顯示匹配的行中的GridView進入PRODUCT_ID
顯示行。
然而,當我試圖比ID在文本框中輸入更多,例如:(然後點擊按鈕)
它沒有工作。
錯誤消息稱 - {「輸入字符串的不正確的格式。」}
我如何通過從多行TextBox輸入的TableAdapter查詢?
謝謝!解決方案很有意義。但是,我遇到了SQL查詢的問題。在TableAdapter查詢配置嚮導 - >查詢生成器中,我在「SELECT PRODUCT_ID,PRODUCT_NAME」中輸入 FROM TEST.PRODUCT WHERE(PRODUCT_ID in(?))「 – user6913632
然後單擊」執行查詢「。在「查詢參數」彈出窗口中,當我輸入「8」(條目中沒有雙引號)時,它起作用;當我輸入「8,9」時,出現錯誤 - 「單元格的值無效(第1行,第2列)。該單元格中更改的值未被重新組合爲有效。 .Net Framework數據類型:Int32「。PRODUCT_ID是smallint。我試着使用不同的參數屬性(參數集合編輯器)... – user6913632
接下來,我將嘗試直接在Button1_Click()後面的代碼中添加代碼。 – user6913632