【发布时间】:2012-03-01 01:10:17
【问题描述】:
我正在尝试使用
将包含字符 " 从 c# 传递到 sql server 的脚本thisCommand.ExecuteNonQuery();
问题是字符串在字符串内部表示为\"而不是":
thisCommand.CommandText = SQLscript; (string SQLScript)
如何将所有“字符”转换为“\”,以便在 sql 中只得到“?”
感谢您的建议 阅读脚本:
StreamReader s = new StreamReader("export_script.sql");
this.SQLscript = s.ReadToEnd();
执行脚本:
thisCommand.CommandText = SQLscript;
thisCommand.ExecuteNonQuery();
在脚本里面我有类似的东西:
set @cmd = 'bcp "'+ @cmd_select + '" queryout "' + @partname + '" -c -S ' + @@SERVERNAME
你可以看到我使用 " 表示 bcp 命令
【问题讨论】:
-
请展示您现在的工作方式(即您的
SQLscript中的文字是什么)。 -
永远不要在 sql 字符串中传递数据。始终使用
SqlCommand和SqlParameter。 (破纪录...) -
如果斜线 \ 不在您的
export_script.sql文件中,它也不应该在CommandText中。您在调试器中看到斜线 \ 了吗?.. -
@atornblad 你能详细说明你的答案吗?
标签: c# sql-server .net-3.5