2012-06-21 49 views
-1

這是我編程的第一步。請您幫忙解決。我觀看了YouTube視頻&編寫小程序,他寫的確切方式......他沒有錯誤,但我得到了錯誤。我剛剛通過了文本框值數據庫(錯誤是數據庫表定義錯誤)。在我的表我用這個字段是BBMgrID爲nvarchar(50)NOT NULL「數據庫表定義錯誤」錯誤的原因

SqlConnection con = new SqlConnection("Data Source=spilap;Initial Catalog=spiDB;User ID=sa;Password=sa123"); 

    protected void btn_submit_Click(object sender, EventArgs e) 
    { 
     con.Open(); 
     SqlCommand cmd = new SqlCommand("Insert into tbl_BBmgr values('" + TextBox1.Text+"')",con); 
     cmd.ExecuteNonQuery(); 
    } 
+3

是您的電腦命名爲** spilap **?你有一個名爲** spiDB **的SQL Server實例,它只有一個表** tbl_BBmgr **,它只有一個字段** BBMgrID **?是SQL Server實例** sa123 **的** sa **密碼? –

+0

通過將nvarchar(50)更改爲varchar(50)來嘗試更改 – vikrantx

+1

表中是否存在自動遞增的主鍵字段? –

回答

2

試試這個:

SqlCommand cmd = new SqlCommand("Insert [TableName] ([ColumnName]) Values(@A)", con); 
      cmd.Parameters.AddWithValue("@A", TextBox1.text); 
      con.Open(); 
      cmd.ExecuteNonQuery(); 
      con.Close(); 

更新:

SqlCommand cmd = new SqlCommand("Insert [TableName] ([Column1],[Column2],[Column3]) Values(@A,@B,@C)", con); 
     cmd.Parameters.AddWithValue("@A", TextBox1.text); 
     cmd.Parameters.AddWithValue("@B", TextBox2.text); 
     cmd.Parameters.AddWithValue("@C", TextBox3.text); 
     con.Open(); 
     cmd.ExecuteNonQuery(); 
     con.Close(); 
+0

請解釋這一行發生了什麼cmd.Parameters.AddWithValue(「@ A」,TextBox1.text); – SpiderX

+0

+1用於使用參數化查詢並避免SQL注入。 –

+0

如果你想要在查詢行中聲明一個值,你必須在聲明的名稱之前使用@例如@a或@name,你可以在@之後使用任何你想要的東西,就像聲明一樣。那麼當你想表明@A意味着你必須使用Parameters.AddWithValue時,第一個值是聲明的值@A,第二個值必須是TextBox1.Text的值。 – aliboy38

0

你應該寫這樣的: INSERT INTO tbl_BBmgr(BBMgrID)VALUES( ' 「+ TextBox1.Text +」')

+1

不,您不應該。此代碼容易受到SQL注入ñ。見'aliboy38'回答正確的方法來做到這一點。 –

+0

同意Darin。這個例子不好。 –

0

如果像你說你在數據庫表5場,你需要明確指定要列去值:

SqlCommand cmd = new SqlCommand("Insert into tbl_BBmgr (BBMgrID) values('" + TextBox1.Text+"')",con); 

編輯:現在和未來,以確保您正在向th發送正確的價值E中各個領域,其通常建議在表格INSERT語句中指定的列:

INSERT INTO Name_Of_Table ([Column1], [Column2], [Column3], ...) VALUES ([Value_For_Column1], [Value_For_Column2], [Value_For_Column3], ...) 
相關問題