gpt4 book ai didi

java - 错误: [Microsoft][ODBC SQL Server Driverr][SQL Server]Insert Error: Column name or number of supplied values does not match table definition

转载 作者:行者123 更新时间:2023-12-01 05:03:30 31 4
gpt4 key购买 nike

我在我的 Java 项目中使用 MS SQL Server 2005 和 Netbeans 6.9。

这是我的表结构(在 SSMS 2005 内):

/image/bwTuH.png

现在,在 Netbeans 中,我使用此代码片段将输入的名称保存到“名称”列中:

 if(e.getSource().equals(submit))
{
try
{
String str="insert into TETRISUSERS values(?,'0')";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con=DriverManager.getConnection("jdbc:odbc:java","sa", "123456");
PreparedStatement stmt=con.prepareStatement(str);
stmt.setString(1,username.getText());

stmt.executeUpdate();
}
catch(Exception ex)
{
JOptionPane.showMessageDialog(name1,"Error : "+ex.getMessage());
}

现在,当我运行项目并输入名称时,出现以下错误:

错误:[Microsoft][ODBC SQL Server Driverr][SQL Server]插入错误:列名称或提供的值的数量与表定义不匹配。

我还尝试在插入命令中使用直接列名称,如下所示:

   try
{
String str="insert into TETRISUSERS(ID,name,highscore) values(?,'0',?)";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con=DriverManager.getConnection("jdbc:odbc:java","sa", "007007");
PreparedStatement stmt=con.prepareStatement(str);
stmt.setString(1,username.getText());

stmt.executeUpdate();
}

但是这样我就得到了这个错误:

错误:[Microsoft][ODBC SQL Server 驱动程序]COUNT 字段不正确或语法错误

最后,我尝试使用这个:

try
{
String str="insert into TETRISUSERS(ID,name) values(?,'0')";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con=DriverManager.getConnection("jdbc:odbc:java","sa", "007007");
PreparedStatement stmt=con.prepareStatement(str);
stmt.setString(1,username.getText());

stmt.executeUpdate();
}

我得到了这个错误:

错误:一般错误

有人可以指导我哪里错了吗?

最佳答案

根据您的图片,没有任何列允许空值。如果你为任何列传递空值,它就会崩溃。因此,尝试为每一列传递一个值,您可能会得到不同且可能更好的结果。

关于java - 错误: [Microsoft][ODBC SQL Server Driverr][SQL Server]Insert Error: Column name or number of supplied values does not match table definition,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13046920/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com