请教问题,我写的保存按钮的代码事件,如下,若是导入,导入表格的数据,点保存后,将导入结果保存到数据库;
反之就是修改,保存后,保存修改结果到数据库,但像如下我的代码这样,若是先导入,点保存后,再修改,就成了反复一遍遍的导入了,而到不了下面的修改语句中了,请问怎么解决;
```c#
if (this.comboBox1.SelectedIndex == 1)
{
conn = new SqlConnection("server=192.168.100.247;database=Whmesinfo;user=sa;password=whyy@2021");
conn.Open();
try
{
if (log == true)
{
System.Data.DataTable dt = new System.Data.DataTable();
System.Data.DataTable dtTemp = dtTempImport; //导入的模板
for (int i = 0; i < dtTemp.Rows.Count; i++)
{
if (i == 0)
continue;
string strsql = @"INSERT INTO [dbo].[w_Qctablew]
([sampledate],[reportdate],[productname],[batchNo],[reportNo],[process],[AIT],[MOULD],[ECO],[GNB],[SE],[result],[note])
values
(@sampledate,@reportdate, @productname, @batchNo, @reportNo, @process, @AIT, @MOULD, @ECO, @GNB, @SE,@result, @note)";
SqlCommand comm = new SqlCommand(strsql, conn);
comm.Parameters.AddWithValue("@sampledate", dtTemp.Rows[i]["F1"]);
comm.Parameters.AddWithValue("@reportdate", dtTemp.Rows[i]["F2"]);
comm.Parameters.AddWithValue("@productname", dtTemp.Rows[i]["F3"]);
comm.Parameters.AddWithValue("@batchNo", dtTemp.Rows[i]["F4"]);
comm.Parameters.AddWithValue("@reportNo", dtTemp.Rows[i]["F5"]);
comm.Parameters.AddWithValue("@process", dtTemp.Rows[i]["F6"]);
comm.Parameters.AddWithValue("@AIT", dtTemp.Rows[i]["F7"]);
comm.Parameters.AddWithValue("@MOULD", dtTemp.Rows[i]["F8"]);
comm.Parameters.AddWithValue("@ECO", dtTemp.Rows[i]["F9"]);
comm.Parameters.AddWithValue("@GNB", dtTemp.Rows[i]["F10"]);
comm.Parameters.AddWithValue("@SE", dtTemp.Rows[i]["F11"]);
comm.Parameters.AddWithValue("@result", dtTemp.Rows[i]["F12"]);
comm.Parameters.AddWithValue("@note", dtTemp.Rows[i]["F13"]);
comm.ExecuteNonQuery();
SqlCommand cmd = new SqlCommand(SqlString, conn);
SqlDataAdapter sda = new SqlDataAdapter(cmd);
}
MessageBox.Show("导入成功");
}
if (log == false)
{
DataTable changedt = dt.GetChanges(); //将发生变化的内容,存储在另一个表内;
foreach (DataRow dr in changedt.Rows)
{
string strsql = string.Empty;
if (dr.RowState == System.Data.DataRowState.Modified)//修改操作
{
strsql = @"UPDATE [dbo].[w_Qctablew]
SET [sampledate] = '" + Convert.ToDateTime(dr["sampledate"]) + @"'
,[reportdate] = '" + Convert.ToDateTime(dr["reportdate"]) + @"'
,[productname] = '" + dr["productname"].ToString() + @"'
,[batchNo] = '" + dr["batchNo"].ToString() + @"'
,[reportNo] = '" + dr["reportNo"].ToString() + @"'
,[process] = '" + dr["process"].ToString() + @"'
,[AIT] = '" + dr["AIT"].ToString() + @"'
,[MOULD] = '" + dr["MOULD"].ToString() + @"'
,[ECO] = '" + dr["ECO"].ToString() + @"'
,[GNB] = '" + dr["GNB"].ToString() + @"'
,[SE] = '" + dr["SE"].ToString() + @"'
,[result] = '" + dr["result"].ToString() + @"'
,[note] = '" + dr["note"].ToString() + @"'
where id = '" + dr["id"].ToString() + "'";
}
else if (dr.RowState == System.Data.DataRowState.Added)//增加操作
{
strsql = @"INSERT INTO [dbo].[w_Qctablew]
([sampledate],[reportdate],[productname],[batchNo],[reportNo],[process],[AIT],[MOULD],[ECO],[GNB],[SE],[result],[note])
values
('" + Convert.ToDateTime(dr["sampledate"].ToString()) + @"'
,'" + Convert.ToDateTime(dr["reportdate"].ToString()) + @"'
,'" + dr["productname"].ToString() + @"'
,'" + dr["batchNo"].ToString() + @"'
,'" + dr["reportNo"].ToString() + @"'
,'" + dr["process"].ToString() + @"'
,'" + dr["AIT"].ToString() + @"'
,'" + dr["MOULD"].ToString() + @"'
,'" + dr["ECO"].ToString() + @"'
,'" + dr["GNB"].ToString() + @"'
,'" + dr["SE"].ToString() + @"'
,'" + dr["result"].ToString() + @"'
,'" + dr["note"].ToString() + @"')";
}
SqlCommand comm = new SqlCommand(strsql, conn);
comm.ExecuteNonQuery();
}
MessageBox.Show("更新成功");
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
MessageBox.Show("请输入修改内容后,再点保存");
}
finally
{
conn.Close();
}
}
```