【发布时间】:2019-06-16 06:59:46
【问题描述】:
基本上,我有多个表单,其中数据将保存到 SQL Servre 数据库中。然后datatable 将显示编译的数据。但是,因为我已将来自两种不同形式的数据保存到同一个 database 中,所以数据表将有两行(参见 [屏幕截图])。由于我的情况,我必须允许我的数据为空。
因此,如何将来自不同 forms 的多个值保存到 SQL Server 数据库的同一行中?希望这是可能的。以下是我的代码:
表格 1
private void Bnext_Click(object sender, EventArgs e)
{
//Do SQL for Inspecdate
string mainconn = ConfigurationManager.ConnectionStrings["Delivery_Inspection.Properties.Settings.SavertbConnectionString"].ConnectionString;
SqlConnection sqlconn = new SqlConnection(mainconn);
sqlconn.Open();
string Dateinspect = DateTime.Parse(DTinspec.Text).ToString("dd/MM/yyyy");
SqlCommand cmd = new SqlCommand("insert into Rtbdata(Inspectiondate) values ('" + Dateinspect + "' )", sqlconn);
int i = cmd.ExecuteNonQuery();
if (i != 0)
{
MessageBox.Show("Saved");
}
else
{
MessageBox.Show("Error");
}
sqlconn.Close();
this.Hide();
FormsCollection.autodataset.Show();
}
表格 2 - 与上面相同,但下面的代码
SqlCommand cmd = new SqlCommand("insert into Rtbdata(Vehnum) values ('" + TBvehicleno.Text + "')", sqlconn);
this.Hide();
FormsCollection.datatable.Show();
【问题讨论】:
-
一般来说,要么有一个插入,要么先插入再更新。
-
您确实需要先解决注入问题。始终参数化您的 SQL。
标签: c# sql-server winforms