请教一下,我想从一个数据表,读取出数据后,插入另一个数据表的对应字段,具体代码如下,但有报错,请指导一下哪里的原因,怎么解决,谢谢;
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());
}
}
【相关推荐】
前提:为数据库连接建立一个缓冲池。
1:从连接池获取或创建可用连接
2:使用完毕之后,把连接返回给连接池
3:在系统关闭前,断开所有连接并释放连接占用的系统资源
4:能够处理无效连接,限制连接池中的连接总数不低于或者不超过某个限定值