我的系统没有任何错误,但是当我尝试添加时没有添加任何内容到tblHardware。 这是我的代码。
private void btnTilfoj_Click(object sender, EventArgs e)
{
conn = new SqlConnection(connectionstring);
conn.Open();
commandstring = "INSERT INTO tblItUdstyr([HardwareType], [KobsDato], [SerieNr]) VALUES(@HardwareType, @KobsDato, @SerieNr)";
comm = new SqlCommand(commandstring, conn);
comm.Parameters.Add("@HardwareType", SqlDbType.VarChar);
comm.Parameters["@HardwareType"].Value = cbHardware.Text.ToString();
comm.Parameters.Add("@KobsDato", SqlDbType.Date);
comm.Parameters["@KobsDato"].Value = dtpKobsDato.Value;
comm.Parameters.Add("@SerieNr", SqlDbType.VarChar);
comm.Parameters["@SerieNr"].Value = txtSerienr.Text.ToString();
}
答案 0 :(得分:2)
你需要运行:
comm.ExecuteNonQuery();
但是,我还建议其他一些事情:
using (SqlConnection conn = new SqlConnection(connectionstring))
{
conn.Open();
commandstring = "INSERT INTO tblItUdstyr([HardwareType], [KobsDato], [SerieNr]) VALUES(@HardwareType, @KobsDato, @SerieNr)";
comm = new SqlCommand(commandstring, conn);
comm.Parameters.AddWithValue("@HardwareType", cbHardware.Text.ToString());
comm.Parameters.AddWithValue("@KobsDato", dtpKobsDato.Value);
comm.Parameters.AddWithValue("@SerieNr", txtSerienr.Text.ToString());
comm.ExecuteNonQuery();
}
我添加了using
,因为它会正确关闭并处置SqlConnection
。此外,我添加了AddWithValue
方法,因为它的流线型和类型匹配更准确。
答案 1 :(得分:2)
每个命令都应以某种方式执行 你的代码很好,但缺少最后一次调用
使用类似的东西
commandstring = "INSERT INTO tblItUdstyr([HardwareType], [KobsDato], [SerieNr]) " +
"VALUES(@HardwareType, @KobsDato, @SerieNr)";
using(conn = new SqlConnection(connectionstring))
using(comm = new SqlCommand(commandstring, conn))
{
conn.Open();
comm.Parameters.Add("@HardwareType", SqlDbType.VarChar);
comm.Parameters["@HardwareType"].Value = cbHardware.Text.ToString();
comm.Parameters.Add("@KobsDato", SqlDbType.Date);
comm.Parameters["@KobsDato"].Value = dtpKobsDato.Value;
comm.Parameters.Add("@SerieNr", SqlDbType.VarChar);
comm.Parameters["@SerieNr"].Value = txtSerienr.Text.ToString();
comm.ExecuteNonQuery(); //This is the call that sends your data to the database
}
请注意我是如何将所有代码放在using statement中的。这将在您完成后强制关闭和处理SqlCommand和SqlConnection。如果出现例外情况