读取数据表的值,插入到另一数据表,请问怎么实现;

请教一下,我想从一个数据表,读取出数据后,插入另一个数据表的对应字段,具体代码如下,但有报错,请指导一下哪里的原因,怎么解决,谢谢;

img

 private void btntran_Click(object sender, EventArgs e)
        {
          SqlConnection conn = new SqlConnection("server=192.168.100.247;database=Whmesinfo;user=sa;password=whyy@2021");

            conn.Open();
          
            
            // 读取数据表的部分字段值
            string sql = "SELECT * FROM w_prohourcount ";
            SqlCommand command = new SqlCommand(sql, conn);
            SqlDataReader reader = command.ExecuteReader();

            while (reader.Read())
            {
                // 获取读取到的字段值
                DateTime inputdate = dateTimePicker1.Value.Date;                
                string inputbatchNo = "batchNo";
                string inputprobatchNo = "probatchNo";

                // 插入到新数据表的对应字段值
                string insertSql = @"INSERT INTO [dbo].[w_protran]
                            ([date],[batchNo],[probatchNo])
                            VALUES
                            (@date, @batchNo, @probatchNo)"; ;
                SqlCommand insertCommand = new SqlCommand(insertSql, conn);
                insertCommand.Parameters.AddWithValue("@date", inputdate);
                insertCommand.Parameters.AddWithValue("@batchNo", inputbatchNo);
                insertCommand.Parameters.AddWithValue("@probatchNo", inputprobatchNo);
                
                insertCommand.ExecuteNonQuery();               

            }

            reader.Close();
            conn.Close();
            
        }
private void btntran_Click(object sender, EventArgs e)
{
    try
    {
        using (SqlConnection conn = new SqlConnection("server=192.168.100.247;database=Whmesinfo;user=sa;password=whyy@2021"))
        {
            conn.Open();

            // 读取数据表的部分字段值
            string sql = "SELECT * FROM w_prohourcount ";
            SqlCommand command = new SqlCommand(sql, conn);
            SqlDataReader reader = command.ExecuteReader();

            while (reader.Read())
            {
                // 获取读取到的字段值
                DateTime inputdate = dateTimePicker1.Value.Date;
                string inputbatchNo = "batchNo";
                string inputprobatchNo = "probatchNo";

                // 插入到新数据表的对应字段值
                string insertSql = @"INSERT INTO [dbo].[w_protran]
                            ([date],[batchNo],[probatchNo])
                            VALUES
                            (@date, @batchNo, @probatchNo)";
                SqlCommand insertCommand = new SqlCommand(insertSql, conn);
                insertCommand.Parameters.AddWithValue("@date", inputdate);
                insertCommand.Parameters.AddWithValue("@batchNo", inputbatchNo);
                insertCommand.Parameters.AddWithValue("@probatchNo", inputprobatchNo);

                insertCommand.ExecuteNonQuery();
            }

            reader.Close();
        }
    }
    catch (Exception ex)
    {
        Console.WriteLine(ex.ToString());
    }
}

【相关推荐】




如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^