利用C#编写窗口应用程序,把数据库的信息输出到窗口的textbox中,运行过程出错。 大神们帮帮忙呀

从数据库读取信息并显示函数publicvoidfind(stringkey){SqlConnectionconn=newSqlConnection(@"DataSourc... 从数据库读取信息并显示函数
public void find(string key) { SqlConnection conn = new SqlConnection(@"Data Source=ACER;Initial Catalog=student;Integrated Security=True");//链接数据库 conn.Open(); string a; if (radioButton1.Checked == true)//判断查找依据,按姓名还是按学号 { a = "select name,num,picpath from student where key = name"; } else { a = "select name,num,picpath from student where key = num"; } SqlCommand cmd = new SqlCommand(a, conn); SqlDataReader dr = cmd.ExecuteReader(); if (dr.Read()) { textBox2.Text = dr["name"].ToString();//将读取到的信息相应的去显示在窗口上 textBox3.Text = dr["num"].ToString(); string Picture = dr["picpath"].ToString();//得到图片的路径和名称,并把图片显示在picturebox控件里 pictureBox1.Image = Image.FromFile(Picture); } dr.Close(); conn.Close(); }
平台:vs2010 sql server2008
报错截图:
展开
 我来答
wenyangitsir
2013-11-04 · TA获得超过120个赞
知道小有建树答主
回答量:138
采纳率:0%
帮助的人:98.6万
展开全部

根据上面你说的:key是我通过textbox控件输入的变量

还有,我看你的截图发现,你是在页面上就选择好了是采用哪种查询方式(name\num)

那么你sql就该是

select name,num,picpath from student where name ='key'
select name,num,picpath from student where num ='key'
//C#:
   a="select name,num,picpath from student where name='"+key+"'";//采用Name
   b="select name,num,picpath from student where num='"+key+"'";//采用num
   //Key是你输入查询条件的内容
akumalzwm
2013-11-04 · TA获得超过191个赞
知道小有建树答主
回答量:133
采纳率:66%
帮助的人:60.4万
展开全部
a = "select name,num,picpath from student where key = name"。

查询条件where中key是什么?是radiobutton的key,不是数据库表的字段名。不能这样用
用radiobutton的Value值作为查询:
//radiobutton的value值
string rdbName=radiobutton1.value;
//按姓名查询
a= "select name,num,picpath from student where name=rabName"
追问
key是textbox控件输入的内容,原来是我的sql语句语法不对,改过来了已经,还是谢谢你。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wenjiebaby
2013-11-03 · TA获得超过195个赞
知道小有建树答主
回答量:365
采纳率:66%
帮助的人:339万
展开全部
sql语句写错了,name和num是一个变量,这个应该作为参数拼接或者传递给sql语句,这么些肯定报错了,错误提示也是sql错了,修改一下就好了
追问
是这样改?
where name = key? 还是不太明白。key是我通过textbox控件输入的变量,name和num时数据库表的表头,而且我在数据库里面新建查询语句,输入程序里的查询语句没有问题啊。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhang399401
2013-11-03 · TA获得超过702个赞
知道小有建树答主
回答量:1347
采纳率:0%
帮助的人:929万
展开全部
你的SQL语句错了where name=@key
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式