c#根据Combobox下拉选项来查询数据库,如图,为什么下拉不选第一项时就报错,怎么回事啊?

我combobox下拉选中第一项、学号时,查询值是数字时可以查询到数据。如果输入的查询值是字符类型,就会报错。也说列名无效。但我的列名是对的。下拉选姓名,无论查询值什么类... 我combobox下拉选中第一项、学号时,查询值是数字时可以查询到数据。如果输入的查询值是 字符类型,就会报错。也说 列名 无效。但我的列名是对的。

下拉选 姓名 ,无论查询值什么类型都报错说列名无效,但我的列名是对的。

这是表的定义:

应该和数据表的数据类型定义有关吧,该怎么弄呢。有没有什么方法可以让输入的查询值无视类型都可以进行查询呢
switch (comboBox2.SelectedIndex)//根据下拉选项的索引来确定查询条件

{
case 0: str = string.Format("select * from Student where Sno ={0}", textBox8.Text.Trim());
break;
..........
}
SqlDataAdapter sda = new SqlDataAdapter(str, conn);
展开
 我来答
hq229075284
2015-01-14 · 超过17用户采纳过TA的回答
知道答主
回答量:50
采纳率:0%
帮助的人:27.9万
展开全部
输入的是字符型,查询时列的类型是整型,试试:str = string.Format("select * from Student where Sno = {0}", Convert.ToInt32(textBox8.Text.Trim()));
而且说的是列名JK无效,你的数据里面貌似没有jk列吧
追问
jk是我输入的 查询值,我输入 2d,它也会报错说 列名'2d'无效。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
阳光的雷咩咩
2015-01-14 · TA获得超过1.4万个赞
知道大有可为答主
回答量:2.3万
采纳率:66%
帮助的人:7708万
展开全部
问题没问题清楚,可以留联系看看。
追问

追答
原来是混合了字符串和数字型列名,加个判断就行了。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式