在一个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