日期:2014-05-20  浏览次数:20515 次

sqlcommand.commandtext有sql语句go的问题
我做了一段数据库的sql   语句
insert   into   .....

go

insert   into   ....

go

保存于一个文件。
当我在程序中点击一个按钮后,读出了这个文件的这些内容出来,并要用
sqlcommand更新到数据库里去,但点了更新后就出错,catch出来的话是第x行go附近有语法错误。但这段话在查询分析器里没有任何问题,如果把go去掉也没有任何问题,请问如何处理这个sql   的go呢?


------解决方案--------------------
如果任务中包含多个语句,那么可以将它们分组,然后可以一次执行一个批处理。为了标明批处理的结束,请使用 GO 命令。从一个 GO 命令到下一个 GO 命令的所有 SQL 语句都被发送到一个批处理,以便于 OLE DB 提供程序执行。
CREATE DEFAULT、CREATE PROCEDURE、CREATE RULE、CREATE TRIGGER 和 CREATE VIEW 语句不能在批处理中与其它语句组合使用。批处理必须以 CREATE 语句开始。所有跟在该批处理后的其它语句将被解释为第一个 CREATE 语句定义的一部分。

所以在insert后面是可以不加go的.

------解决方案--------------------
在程序里运行是不能加go的.你按go分段取出执行就可以了
------解决方案--------------------
不要用go,用分号就可以表示是两条语句

------------------------
http://fenglin.xland.cn
------------------------
------解决方案--------------------
实际上这个go是几个语句的分隔符,
当有go的时候就把上一个go开始的语句一次性执行,
当在SqlCommand中执行的时候,可以先把带有go的语句脚本按go把它们分成一批批的分别执行就可以了.
------解决方案--------------------
我倒没有试过用Split按go来分开后执行这样的语句,楼主可以试试用string.Split分开语句.