2012-07-13 123 views
0

我試圖插入數據到SQL表中,但得到一個錯誤,我沒有所需數量的列,例如,我只給它teamname和teamtag,當它在SQL表中也有ID的時候。 ID自動遞增,但我不知道如何使這項工作,任何幫助表示讚賞。插入到表中,如何插入自動遞增ID

private void btnAdd_Click(object sender, EventArgs e) 
{ 
    da.InsertCommand = new SqlCommand("INSERT INTO tblTeams VALUES(@TEAMNAME, @TEAMTAG)", cs); 
    da.InsertCommand.Parameters.Add("@TEAMNAME", SqlDbType.VarChar).Value = txtTeamName.Text; 
    da.InsertCommand.Parameters.Add("@TEAMTAG", SqlDbType.VarChar).Value = txtTeamTag.Text; 

    cs.Open(); 
    da.InsertCommand.ExecuteNonQuery(); 
    cs.Close(); 
} 

錯誤:

Column name or number of supplied values does not match table definition.

+1

爲什麼你的'INSERT'不指定列名? – 2012-07-13 16:42:01

回答

4

指定要填充的列。

INSERT INTO tblTeams (TeamName, TeamTag) VALUES(@TEAMNAME, @TEAMTAG) 
+0

我已經添加了這個,它已經超過了原來的錯誤,現在我正面臨另一個錯誤。 「無法將值NULL插入'T_ID'列中,表'tSystem.dbo.tblTeams';列不允許爲空,INSERT失敗。 – user1524116 2012-07-13 16:44:27

+1

@ user1524116你確定T_ID是一個IDENTITY列嗎? – 2012-07-13 16:46:02

+0

確保您的列設置爲「身份證明規範」>(身份證) – 2012-07-13 16:46:08

相關問題