string   SqlStr   =   "Insert   Into   Table   values()"   
SqlCommand   SqlCmdInSert   =   new   SqlCommand(SqlStr,Connection)   
SqlCmdInSert.ExecuteNonQuery() 我在C#中向数据库中插入记录,单条插入时程序代码如上,且没有问题。
我想一次插入多条,请问上面的语句【string   SqlStr   =   "Insert   Into   Table   values()"   】
应该如何扩展?谢谢!

解决方案 »

  1.   

     public static void RunInsert(int[]info)        {            string strConn = "server=localhost;uid=sa;pwd=sa;database=test";            SqlConnection conn = new SqlConnection(strConn);            conn.Open();
                string strSQL = "insert into testTable values({0},'120')";            SqlCommand cmd;            string[] sql = new string[info.Length];            for (int i = 0; i < info.Length; i++)            {                sql[i] = string.Format(strSQL, info[i].ToString());            }            foreach(var t in sql)            {                Console.WriteLine(t);                cmd = new SqlCommand(t, conn);                try                {                    cmd.ExecuteNonQuery();                }                catch                {                    conn.Close();                    conn.Dispose();                    cmd.Dispose();                    throw new Exception("Failed to insert");                }            }            Console.WriteLine("Succeed to insert");        }
      

  2.   

    可以用一个For循环试一下
      

  3.   

    不能用for用循环,那就不是一次插入多条记录了,而是差很多次,每次一条。
      

  4.   

    sql语句啊。。
    多行插入。。union
      

  5.   

    执行的时候支持多条SQL语句的,如下:string  SqlStr  =  " Insert  Into  Table  values('1') "  
    SqlStr += " Insert  Into  Table  values('2') "  
    SqlStr += " Insert  Into  Table  values('3') "  
    SqlCommand  SqlCmdInSert  =  new  SqlCommand(SqlStr,Connection)  
    SqlCmdInSert.ExecuteNonQuery() 
    最好加入事务,防止执行过程出现问题。
      

  6.   

    循环把语句加的无限长 嘿嘿  其实你写个循环也就行了 如果是加字符串 推荐使用stringbuilder
      

  7.   

    SQLSTR=“INTO tb_kj139_recorddatatemp_hdata1(i_senid,d_readtime,i_cardcode,i_cardstate) VALUES(93,'2008-11-4 0:16:45',10239,85);”
    SQLSTR+=“INTO tb_kj139_recorddatatemp_hdata1(i_senid,d_readtime,i_cardcode,i_cardstate) VALUES(94,'2008-11-4 0:16:45',10239,85);”
    SQLSTR+=“INTO tb_kj139_recorddatatemp_hdata1(i_senid,d_readtime,i_cardcode,i_cardstate) VALUES(93,'2008-11-4 0:16:45',10239,85);”
    你利用for循环把你要插入的记录组成一个SQL语句,就想上面的插入语句最后执行SQLSTR就OK了,这样不就一次插入多条记录了吗
      

  8.   

    string  SqlStr  =  
    Insert  Into  Table  
    select value1,value2.... 
    Union All select  value1,value2....  
    Union All select  value1,value2....
      

  9.   


    这个就 可以了  
    如果是多个字段 ([aa],[bb])values (@aa,@bb)
      

  10.   

    你可以要插几条就写几个insert,然后一直执行,就是8楼那种还可以使用SqlAdapter + DataTable或SqlBulkCopy + DataTable来完一批量的数据写入
      

  11.   

    使用SqlDataAdapter.Update方法结合DataSet或DataTable来做比较方便,楼主可以参照下面的文章,
    http://blog.csdn.net/zhzuo/archive/2004/08/06/67016.aspx
    http://blog.csdn.net/zhzuo/archive/2004/08/06/67037.aspx
      

  12.   

     " Insert  Into  Table  values('1') " 
    就这样多写几个串起来,我写过的,不信你就在查询分析器里试试呀。