create table NanJing
      (
      线路 nvarchar(50) primary key not null,
      始发站 nvarchar(50),
      终点站 nvarchar(50),
      服务时间 nvarchar(50),
      说明字段 nvarchar(50),
      途径站点 ntext not null
      )
      go
      insert into NanJing VALUES('*109','','','','','滨江公园 扬子江大道 梦都大街西 松花江西街 华山路 燕山路 香山路 兴隆大街 云锦路 白鹭东街 怡康街西 应天大街西 黄山路 泰山路 南苑新村 文体路 南湖东路 长虹路 莫愁湖东路 莫愁湖东路北站 汉中门 (牌楼巷) 莫愁路 五台山 随家仓 (拉萨路) 广州路 五台山体育中心');
SQL中有如上两条语句,如何在C#中用ExecuteNonQuery()一次执行完毕?

解决方案 »

  1.   

    不用做什么操作,直接使用
    string SqlString = 
    " insert into NanJing VALUES('*109', 莫愁路) " +
    " insert into NanJing VALUES('*109', 莫愁路) " ;
    db.ExecuteNonQuery(SqlString);
    可以一次执行多条语句,只不过只能返回最后一个查询所影响的行数。
      

  2.   

    用存储过程。sql2000是可以批处理的。
      

  3.   

    vicon(排骨面(说过多少次了!要团结,眼睛要看着别人的长处!)) 
    的方法好像是可以的,不过语句中间好像要加 ";", 另外所有语句写到 存储过程 中.
      

  4.   

    不要GO就可以了.加GO在执行的时候会报'语法错误'的提示。
    C#是可以一次执行多条SQL语句的。
      

  5.   

    lz:
       vicon(排骨面(说过多少次了!要团结,眼睛要看着别人的长处!)) 说的办法可以解决你的问题。
      

  6.   

    可以这样执行,但有个go的问题:
    1:可以把go去掉,把两个命令作为一个批命令执行,可以成功.
    2:利用go把语句分开,一个go为一批命令.分别用Command执行.我已测试过把go去掉后的语句执行成功.注: go在SqlCommand中不可识别,因为这是Sql的执行批命令的语句.
      

  7.   

    string strSql = "select top 5 productId,productName from products order by productId;" +"select top 3 customerId,companyName from customers order by customerId;";
    SqlCommand cmd = new SqlCommand(strSql,con);
    SqlDataReader sdr = cmd.ExecuteReader();
    这个命令 返回两个结果集,调用Read()方法读取可读的行,返回false到达结果集末尾,调用
    NextResult()方法,再读取下一个结果集
    do
    {
      while(sdr.read())
    {
      console.writeLine(sdr[0]);
    }
    }while(sdr.NextResult());
      

  8.   

    呵呵,不是,我在做毕业设计,马上要去浪潮工作了,谢谢各位^^
    我用split把语句分了,一条一条执行,但是有个小问题在http://community.csdn.net/Expert/topic/5269/5269917.xml?temp=.5153009,希望各位能帮忙看看
      

  9.   

    直接输入多个sql就得。ADO.net自己帮你分开的。