C# 数据未从windows窗体插入到数据库表中

C# 数据未从windows窗体插入到数据库表中,c#,asp.net,sql-server-2008,C#,Asp.net,Sql Server 2008,我正在开发一个桌面应用程序。我开发了一个用户输入数据的表单。当他单击submit按钮时,数据保存在一个名为Pakreastat的数据库中。问题是数据没有插入到表中,我得到一个错误:SqlException未处理 当我单击Submit按钮时,它会提示错误。 按钮后面的代码如下所示: protected void button2_Click(object sender, EventArgs e) { SqlConnection con = new SqlConnection("Data So

我正在开发一个桌面应用程序。我开发了一个用户输入数据的表单。当他单击submit按钮时,数据保存在一个名为Pakreastat的数据库中。问题是数据没有插入到表中,我得到一个错误:
SqlException未处理

当我单击Submit按钮时,它会提示错误。 按钮后面的代码如下所示:

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");
}

始终将您的代码放入
尝试。。。catch
如果您正在使用datatbase进行事务处理,则阻止

如果建立了与数据库的连接,并且没有问题,那么

最后五个文本框中缺少单引号。我假设最后五列是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);

您的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");

检查连接字符串和SQL insert语句

我建议您直接使用sql参数而不是textbox文本属性作为值。 因为这是一个常见的漏洞,称为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");

最后5个文本框缺少单引号是否确实正确访问了数据库?以下错误发生在插入语句之前“建立与SQL Server的连接时发生网络相关或特定于实例的错误。找不到服务器或无法访问服务器。验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。(提供程序:命名管道提供程序,错误:40-无法打开到SQL Server的连接)不是有效的连接字符串。可能在语法上有效,但没有人以数据库和架构命名其实例。您能告诉我必须使用哪个连接字符串吗?如何检查是否已建立与数据库的连接?请告诉我您没有按照您的错误说明连接到应用程序数据库,请检查您的连接字符串我已经按照您所说的做了,但问题是相同的…我与数据库的连接没有建立…我真的不知道,请告诉我如何与sql server建立连接。问题是,我不能断言您的连接字符串是正确的。可能服务器实例不正确。看看MSDN