当前位置:编程学习 > C#/ASP.NET >>

在将 varchar 值 ' state ' 转换成数据类型 int 时失败。

 state是这样定义的:
int state =int.Parse(ds.Tables[0].Rows[i]["状态标记"].ToString());
然后执行SQL语句就出错了,我的SQL语句是这样写的:
DbHelper.ExecuteNonQuery("insert into ik_stuUsers(StuNO,IDNo,classId,state) values(' userName ','IDNo ','classId ',' state ')");
(其中,我是从Excel表中取字段名为“状态标记”的那一列的值插入数据库的ik_stuUsers表中。“状态标记”取值为1或0) --------------------编程问答-------------------- sql语句返回的是int类型受影响的行数,是不是dataTable --------------------编程问答-------------------- ' state ',你这个state都加引号了,就不再是变量state了,是字符串了 --------------------编程问答-------------------- 你首先 打断点看下 在哪里出错了错误信息是什么DbHelper.ExecuteNonQuery("insert into ik_stuUsers(StuNO,IDNo,classId,state) values(' userName ','IDNo ','classId ',' state ')");
我记得没错的话 上面那个是用来更新的吧

 DbHelper.DbHelperSQL.ExecuteSql("insert into ik_stuUsers(StuNO,IDNo,classId,state) values(' userName ','IDNo ','classId ',' state ')");
--------------------编程问答-------------------- 好吧 我看错了 版主说的对 --------------------编程问答-------------------- 你这问题大了... --------------------编程问答-------------------- DbHelper.ExecuteNonQuery("insert into ik_stuUsers(StuNO,IDNo,classId,state) values(' userName ','IDNo ','classId ',state)"); --------------------编程问答--------------------
引用 2 楼 bdmh 的回复:
' state ',你这个state都加引号了,就不再是变量state了,是字符串了


这个应该是对的。 --------------------编程问答-------------------- String state =ds.Tables[0].Rows[i]["状态标记"].ToString();

DbHelper.ExecuteNonQuery("insert into ik_stuUsers(StuNO,IDNo,classId,state) values(" +StuNO+ ","+IDNo+" ,"+classId+","+ state+" )");

我改成这样编译就通过了
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,