关于遇到的:System.Data.SqlClient.SqlException:“‘=‘ 附近有语法错误。”

此类错误,一般是指最终拼凑字符串生成的SQL语句有问题,可检查=附件字段,一般有下列几种情况

  1. 是否缺少空格

  2. 字符串类型值少加了单引号(包括字符串内的单引号未进行替换处理)

  3. 等号后面没有值进行占位。


今天出现的问题语句:

string sql = "select StudentName,Gender,Birthday,StudentIdNo,StudentAddress from Students" +
                    "where StudentId = {0}";

在换行后,“where”前少了个空格。

以后要避免此类错误!

2019-10-11记

从文章浏览量看,遇到这个问题的同学还是挺多的,会遇上这个问题的你们可能刚刚开始学编程,遇到这个问题原因可能是在拼写sql,也可能是拼写xml文档,记得养成好习惯,换行的时候检查自己是否忘记换行符或者空格。

另外针对C#的字符串写法,可以采用下面的建议:

对于拼写带参数的字符串传统写法常采用Format()函数,使用占位符‘{i}’的形式

string.Format("storeId={0}&startTime={1}&endTime={2}", storeId,startTime,endTime);

对于参数过多的字符串来说这种写法要注意不要写错了参数的数量和顺序,可以用下面的写法(C#6新增特性字符串内插法)代替:

$"storeId={storeId}&startTime={startTime}&endTime={endTime}"

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值