DataGridView 向数据库里inset数据,该如何处理
DataGridView 向数据库里inset数据
运行到cmd.ExecuteNonQuery();的时候直接就跳转到了catch 了。。求原因啊
------解决思路----------------------
我在想是不是这的问题:
你values(@日期,@车号,@加气量,@职员,@含税单价,@含税金额,@单价,@金额,@税额,@备注)中 共有10个参数,但是你在添加值时,只有8个参数。。。
一般写异常处理时,要catch(Exception ex),这样可以获取异常信息,自己可以去查看异常信息
public bool ImportTableToDB(DataTable dtImp)
{
try
{
foreach (DataRow datarow in dtImp.Rows)
{
DBHelper.connection.Open();
string sql = "insert into test(日期,车号,加气量,职员,含税单价,含税金额,单价,金额,税额,备注) values(@日期,@车号,@加气量,@职员,@含税单价,@含税金额,@单价,@金额,@税额,@备注)";
SqlCommand cmd = new SqlCommand(sql, DBHelper.connection);
cmd.Parameters.AddWithValue("@日期", datarow["日期"].ToString());
cmd.Parameters.AddWithValue("@车号", datarow["车号"].ToString());
cmd.Parameters.AddWithValue("@加气量", datarow["加气量"].ToString());
cmd.Parameters.AddWithValue("@含税单价", datarow["含税单价"].ToString());
cmd.Parameters.AddWithValue("@含税金额", datarow["含税金额"].ToString());
cmd.Parameters.AddWithValue("@金额", datarow["金额"].ToString());
cmd.Parameters.AddWithValue("@税额", datarow["税额"].ToString());
cmd.Parameters.AddWithValue("@备注", datarow["职员"].ToString());
cmd.ExecuteNonQuery();
DBHelper.connection.Close();
}
return true;
}
catch
{
return false;
}
}
运行到cmd.ExecuteNonQuery();的时候直接就跳转到了catch 了。。求原因啊
------解决思路----------------------
我在想是不是这的问题:
你values(@日期,@车号,@加气量,@职员,@含税单价,@含税金额,@单价,@金额,@税额,@备注)中 共有10个参数,但是你在添加值时,只有8个参数。。。
一般写异常处理时,要catch(Exception ex),这样可以获取异常信息,自己可以去查看异常信息