我现有一个生成的DataTable strTab;记录是通过程序生成的.我现在想通过DataTable一次把这些记录插入到SQL Server中去.请问有解决方法吗?

解决方案 »

  1.   

    楼主平时做的DataTable是分多次插入的吗?
      

  2.   

    第一次手动生成DataTable,所以不知道怎么一次导入到数据库......还望指教^_^
      

  3.   

    private static DataTable SelectRows(DataTable datatable,
        string connectionString,string queryString) 
    {
        using (SqlConnection connection = 
            new SqlConnection(connectionString))
        {
            SqlDataAdapter adapter = new SqlDataAdapter();
            adapter.SelectCommand = new SqlCommand(
                queryString, connection);
            adapter.Fill(datatable);
            return datatable;
        }
    }
      

  4.   

    public void test()
            {
                DataTable strTab = new DataTable();
                string sql = String.Empty;
                foreach (DataRow dr in strTab)
                {
                    sql = "INSERT(id,name) values({0},'{1}')";
                    sql = String.Format(sql, dr["id"], dr["name"]);
                    DataAccess.ExcuteCmd(sql);
                }
            }
      

  5.   

    5楼的兄弟,这个是一条一条的插入吧.我说的是有没有一次插入的,不是单独生成sql在insert的.有办法没?
      

  6.   

    用SqlDataAdapter 的 Update()方法,先用select得到selectCommand在用SqlCommandBuilder创建 updateCommand和其他command,最后调用Update方法保存到数据库string connString="数据库连接字符串";
    string sql="select * from 表 where 1>2";  //这点筛选出来的字段和datatable的字段一直
    SqlConnection conn = new SqlConnection(connString);
    SqlDataAdapter ada = new SqlDataAdapter(sql, conn);
    SqlCommandBuilder cb = new SqlCommandBuilder(ada);
    ada.Update(myDataTable); 
      

  7.   

    测试成功哦.谢谢 czhy