2014-01-29 142 views
0

我正在使用桌面應用程序。我開發了一個用戶輸入數據的表單。當他點擊提交按鈕時,數據被保存在數據庫名稱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"); 
} 
+2

缺少去年5個文本框單引號 –

+0

請幫我... –

+0

你確定你正確地訪問數據庫? – Nath

回答

0

始終把你的代碼try... catch塊,如果你是datatbase

做交易如果您引黃到DATABSE建立並沒有問題,有那麼

您在最後五個文本框中缺少單引號。我想,過去五年列烏爾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); 
+0

如何檢查我的數據庫連接是否建立?請告訴我 –

+0

你沒有連接到應用程序數據庫,因爲你的錯誤說,請檢查你的連接字符串 –

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

檢查連接字符串和SQL插入語句。

我建議您直接使用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"); 
+0

我盡你所能,但問題是一樣的.... .my與數據庫的連接沒有建立....我真的不知道它,請告訴我如何建立與SQL服務器的連接。 –

+0

問題是,我無法斷言你的連接字符串是正確的。也許服務器實例不正確。查看MSDN http://msdn.microsoft.com/de-de/library/d7469at0(v=vs.110).aspx –