2012-07-13 121 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

相关问题