在一个程序中,现在有一个结构体数组,我想要在程序中通过循环将数组中的数据全部插入到一个表中。运行时,插入的条数是对的,但是插入的所有数据都是跟第一条是一样的。应该怎么解决?
谢谢了~~

解决方案 »

  1.   

    要是批量插入,SQL就特别的方法,在百度输入批量插入语句,好像是SqlBulkCopy
     SqlTransaction str = con.BeginTransaction();
                SqlBulkCopy bulk = new SqlBulkCopy(con,SqlBulkCopyOptions.Default,str);      //
                bulk.DestinationTableName = "tb1";                                                                     //表名
                bulk.ColumnMappings.Add("name", "name");                                                       //字段
                bulk.ColumnMappings.Add("passwordMD5", "pwd");                                           //字段
    而ORACLE你可以先通过循环形成多个insert语句,内容分别是你数组循环出来的数据。这样肯定不会有重复
      

  2.   

    使用循环  每次循环的时候 传入新值啊SqlConnection conn=...............;
    conn.Open();
    for(int i=0;i<constructArray.Length;i++)
    {
    ConstructName objConstruct=(ConstructName )constructArray[i];
    string strSql="insert into tableName(field1,field2)values("+objConstruct.Attribute1+","+objConstruct.Attribute1+")";
     SqlCommand cmd=new SqlCommand(strSql,conn);
    cmd.ExecuteNonQuery();
    }
    conn.Close();
      

  3.   

    没看懂。你那个数组是什么样子的。不会是用的object[]吧?