我正在使用桌面应用程序。我开发了一个用户输入数据的表单。当他单击提交按钮时,数据将保存在数据库名称PakReaEstat中。问题是表中没有插入数据,我收到错误:SqlException was Unhandled
。
当我点击“提交”按钮时,它会提示错误。 按钮后面的代码如下:
protected void button2_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection("Data Source=ali-pc/sqlexpress.PakEstateAgency.dbo");
con.Open();
SqlCommand cmd = new SqlCommand("insert into ClientINFO(Application#,LDAReg#,Size,Name,SDW/O,CNIC,Address,Image,giventime)" +
"values (" + Convert.ToInt32(textBox1.Text) + ",'" +
textBox2.Text + "','" +
textBox4.Text + "'," +
textBox5.Text + "," +
textBox6.Text + "," +
textBox7.Text + "," +
textBox8.Text +
"," + textBox3.Text + ")", con);
cmd.ExecuteNonQuery();
MessageBox.Show("Insertion successfully done");
}
答案 0 :(得分:1)
检查连接字符串和SQL插入语句。
我建议您直接使用sql参数而不是textbox text属性作为值。 因为这是一个常见的漏洞,称为SQL注入。 我还建议使用using语句来确保连接已关闭。
using (var con = new SqlConnection("Data Source=ali-pc/sqlexpress.PakEstateAgency.dbo"))
{
con.Open();
using (var cmd = new SqlCommand("insert into ClientINFO(Application#,LDAReg#,Size,Name,SDW/O,CNIC,Address,Image,giventime)" + "values (@Application#,@LDAReg#, ... )", con))
{
cmd.Parameters.AddWithValue("@Application#", Convert.ToInt32(textBox1.Text));
cmd.Parameters.AddWithValue("@LDAReg#", textBox2.Text);
// add the other parameters ...
cmd.ExecuteNonQuery();
}
}
MessageBox.Show("Insertion successfully done");
答案 1 :(得分:0)
如果您正在使用datatbase执行事务
,请始终将代码放在try... catch
块中
如果您建立了数据库连接并且没有问题那么
您在最后五个文本框中缺少单引号。我想最后五列在ur datatbse
中的类型为nvarchar
将命令更改为
SqlCommand cmd = new SqlCommand("insert into ClientINFO(Application#,LDAReg#,Size,Name,SDW/O,CNIC,Address,Image,giventime) values (" + Convert.ToInt32(textBox1.Text) + ",'" + textBox2.Text + "','" + textBox4.Text + " ','" + textBox5.Text + "','" + textBox6.Text+ "','" +textBox7.Text+ "','"+textBox8.Text +"','"+textBox3.Text+"')", con);
答案 2 :(得分:0)
您的SqlConnection存在问题
确保您的连接字符串正确
SqlConnection con = new SqlConnection("Data Source=ali-pc/sqlexpress.PakEstateAgency.dbo");
它应该像
SqlConnection con = new SqlConnection("Data Source=ADMIN3-PC;Initial Catalog=master;Integrated Security=True");