字符串的语法错误 在查询表达式

祈泽 2011-12-01 03:00:30
我有几万行数据,插入到数据库中,一直插不进去,我就一条一条插入。这就遇到问题了。
其中一个字段是“掺高效减水剂高强度砼C40粒径16砼52.2级坍落度35~50”,
可是在sql语句里就变成了“掺高效减水剂高强度砼C40粒径16砼52.2级坍落度35~50\0”,多出了一个“\0”,
而且我在文本可视化工具里只得到了“insert into jsqdde(bm,nr,dw,dj,dj1,ishnt) values('002001','掺高效减水剂高强度砼C40粒径16砼52.2级坍落度35~50"”
如果是完整的话,应该是insert into jsqdde(bm,nr,dw,dj,dj1,ishnt) values('002001','掺高效减水剂高强度砼C40粒径16砼52.2级坍落度35~50\0','m3',227.47,227.47,False)“,
报错的是“字符串的语法错误 在查询表达式 ''掺高效减水剂高强度砼C40粒径16砼52.2级坍落度35~50' 中。”
我想应该是多出的一个“\0” 的问题,请大家帮我看看呀。
...全文
221 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
genius760 2011-12-01
  • 打赏
  • 举报
回复
如果你把数据塞进DataTable中之前并不包含“\0”,那么你就试试在Insert语句中字符类型的数据用N'aaaa'来表示。

试一下吧。

要么就检查一下你装载数据进DataTable的时候数据的变化,debug跟踪一下
DENQH 2011-12-01
  • 打赏
  • 举报
回复
“掺高效减水剂高强度砼C40粒径16砼52.2级坍落度35~50”

应譔是 ~ 这个符号的问题用转一下\~或用replace过滤一下或用其他的
祈泽 2011-12-01
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 denqh 的回复:]
35~50\\0'
[/Quote]
这么说吧,我把数据放到datatable里,然后遍历datatable
其中有一条正确的字段数据是“掺高效减水剂高强度砼C40粒径16砼52.2级坍落度35~50”
foreach (DataRow dr in dt0.Rows)
{
sql = "insert into jsqdde(bm,nr,dw,dj,dj1,ishnt) values('" + dr["bm"].ToString() + "','" + dr["nr"].ToString() + "','" + dr["dw"].ToString() + "'," + float.Parse(dr["dj"].ToString()) + "," + float.Parse(dr["dj1"].ToString()) + "," + Convert.ToBoolean(dr["ishnt"]) + ")";
list.Add(sql);
}
这个里面的值就变成了“掺高效减水剂高强度砼C40粒径16砼52.2级坍落度35~50\0”
然后就出现问题了
DENQH 2011-12-01
  • 打赏
  • 举报
回复
35~50\\0'

110,500

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧