private void InsertInfo() { Random rd = new Random(); int iDown = 100000; int iUp = 999999; int num = Convert.ToInt32(rd.Next(iDown, iUp)); int NumPeo = Convert.ToInt32(this.nudNum.Value); DateTime date = this.dtFromtime.Value; dbh = new DBHelper(); dbh.OpenConn(); string sql = "insert into UserFlyInfo values('"+No+"','"+Company+"',"+FromAddress+","+Goaddress+",'"+Fromtime+"','"+Gotime+"','"+Price+"',"+NumPeo+",'"+date+"','"+num+"')"; SqlCommand command = new SqlCommand(sql, dbh.Conn); int cancle = command.ExecuteNonQuery(); if(cancle>0) { MessageBox.Show("预订成功! 订单编号:" + num); } else { MessageBox.Show("预定失败!","操作提示",MessageBoxButtons.OK,MessageBoxIcon.Information); } }
调试的时候 int cancle = command.ExecuteNonQuery(); 是这句出现问题 ,老是找不出问题
断点跟踪command.ExecuteNonQuery();这句.看它的返回值是什么.
不为-1即为数据插入成功.否则代表数据无法被插入,同时重新断点,从当前方法的第一句开始跟踪.
逐步检查每一句是否都有正常的返回值.
如果语法没有错误.检查是不是拼写问题,
最好不要用拼接字符串的方式来拼接SQL语句,一方面性能不好,另一方面可能会产生SQL注射问题.再要命的就是拼接的长了,自己都能看晕.
用SqlCommand.Parameters 属性来提交SQL语句并拼接参数.
另外再补充一句,不要把SQL语句中的需要传值的参数给隐藏掉.这点很不好.很容易在写SQL语句时造成错误.不要偷懒或者耍小聪明用简化写法.请完整编写SQL语句.
MSDN中的参考方法如下:
private static void UpdateDemographics(Int32 customerID,每次运行都会出现System.Data.SqlClient.SqlException","附近有...
不为-1即为数据插入成功.否则代表数据无法被插入,同时重新断点,从当前方法的第一句开始跟踪.逐步检查每一句是否都有正常的返回值.如果语法没有错误.检查是不是拼写问题,最好不要用拼接字符串的方式来拼接SQL语句,一方面性能不好,另一方面可能会产生SQL注射问题.再要命的就是拼接的长了,自己都能看晕....
System.Data.SqlClient.SqlException: ' ' 附近有语法错误。
1、你SQL语句字符串拼接没有问题,2、问题估计出在你的两个参数上:strUserName、strpswd,你应该单步调试一下,看这两个参数值是否正确
System.Data.SqlClient.SqlException: '=' 附近有语法错误
此类错误,一般是指最终拼凑字符串生成的SQL语句有问题,可检查=附件字段,一般有下列几种情况 是否缺少空格 字符串类型值少加了单引号(包括字符串内的单引号未进行替换处理)等号后面没有值进行占位。
System.Data.SqlClient.SqlException: 关键字 'and' 附近有语法错误...
此类错误,一般是指最终拼凑字符串生成的SQL语句有问题,可检查=附件字段,一般有下列几种情况 是否缺少空格 字符串类型值少加了单引号(包括字符串内的单引号未进行替换处理)等号后面没有值进行占位。
...出现System.Data.SqlClient.SqlException (0x80131904...
1、通过 perfmon.exe 记录活动的连接数,是否为已达到连接池上限;2、做一个测试,每隔 5 秒打开一次连接,然后关闭,运行 1 周(根据你实际出错时的频率来定这个周期);3、是否是 Command Timeout ,而非 Connection Timeout,即连接没有问题,而是执行的 SQL 时间较长,导致 Command Timeout,...
System.Data.SqlClient.SqlException: '0' 附近有语法错误。
sql语句写错了 Response.Write(str);把后面的注销,用这句输出一下放到sql里一执行你就明白了
[SqlException (0x80131904): '*' 附近有语法错误。]
异常详细信息: System.Data.SqlClient.SqlException: '*' 附近有语法错误。,检查sql语句那段代码,你给的问题补充看不到sql语句代码,你调试一下那块即可。
'Id' 附近有语法错误。
System.Data.SqlClient.SqlException: '=' 附近有语法错误。 源错误: 行 String sqlstr = String.Format ("updata item2 set num=num+1 where id 是否可以解决您的问题?
c# 运行时出现的错误 在线等
应该是查询语句,因为某些条目查询时间超时,查询数据库一般来说是不会超时的,那就是你的查询语句有问题了。
引发的异常:“System.Data.SqlClient.SqlException”(位于 System.Data...
sql 原来的句型是 insert into 表(列1,列2...列n) values('值1','值2'...'值n')明白了吧,你要把列的名称列出来,系统才知道往哪里插。