首页 新闻 会员 周边

C#往SQL插入数据时遇到的错误。“”附近有语法错误。

0
悬赏园豆:30 [已解决问题] 解决于 2016-07-01 19:15

问题较长,我写博客里了。

http://www.cnblogs.com/Earl-Jones/p/5618216.html

JerryOu的主页 JerryOu | 初学一级 | 园豆:175
提问于:2016-06-26 17:22
< >
分享
最佳答案
1

有可能是那个名字后面那一串空白里面有一些非空格的字符,所以建议想办法把那一段空白去掉

收获园豆:30
龍☆ | 菜鸟二级 |园豆:250 | 2016-06-27 10:36
其他回答(8)
0

代码不规范,[Name]后面为什么有那么多的空格。

寨♂冇嚸ル壞 | 园豆:186 (初学一级) | 2016-06-26 19:35

nchar类型导出的数据。

支持(0) 反对(0) JerryOu | 园豆:175 (初学一级) | 2016-07-01 17:18

应该是之前转化类型后留下的。

支持(0) 反对(0) JerryOu | 园豆:175 (初学一级) | 2016-07-01 17:19
0

加上Trim()试试

sqlCmd.CommandText =string.Format( "insert into [dbo].[Table4Test]([ID],[Name],[Password])values({0},'{1}','{2}')", dataOfItem[0],dataOfItem[1].Trim(),dataOfItem[2]);
dudu | 园豆:30994 (高人七级) | 2016-06-26 20:13

还是不行。

支持(0) 反对(0) JerryOu | 园豆:175 (初学一级) | 2016-07-01 17:17
0

可以试试以下格式:sqlCmd.CommandText =string.Format( "insert into [dbo].[Table4Test]([ID],[Name],[Password])values('{0}','{1}','{2}')", dataOfItem[0],dataOfItem[1].Trim(),dataOfItem[2]);

傲雪江南 | 园豆:174 (初学一级) | 2016-06-27 10:00
1

那段空白里可能有换行符,用正则看所有空白都拆一下

子意 | 园豆:202 (菜鸟二级) | 2016-06-27 14:36
0

你把NAME字段的类型设置为nvarchar 

刘宏玺 | 园豆:14020 (专家六级) | 2016-06-27 17:13

还是不行。

支持(0) 反对(0) JerryOu | 园豆:175 (初学一级) | 2016-07-01 17:13
0
string.Format( "insert into [dbo].[Table4Test]([ID],[Name],[Password])values({0},'{1}','{2}');" <------加上这个";"试试!

 

大楚打码人 | 园豆:4313 (老鸟四级) | 2016-06-27 17:22

还是不行。

支持(0) 反对(0) JerryOu | 园豆:175 (初学一级) | 2016-07-01 17:09
0

应该使用sqlparameter,防止sql注入。vs最好不要用最新的,2012,2013就可以。

弦断有谁听 | 园豆:20 (初学一级) | 2016-06-29 14:03

刚刚学,还没学到SQL注入呢。

支持(0) 反对(0) JerryOu | 园豆:175 (初学一级) | 2016-07-01 17:05
0

 int id;     string name;  string password;

sqlCmd.CommandText = string.Format( "insert into [dbo].[Table4Test]([ID],[Name],[Password])values({0},'{1}','{2}')",id,name,password);

 

你这样试试,Id,name,password,你可以写成参数,直接传进来就行

 

一棵青涩的狗尾草 | 园豆:231 (菜鸟二级) | 2016-06-29 16:41
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册