Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java sql插入准备状态错误_Java_Sql_Jdbc_Netbeans - Fatal编程技术网

java sql插入准备状态错误

java sql插入准备状态错误,java,sql,jdbc,netbeans,Java,Sql,Jdbc,Netbeans,错误 String sql = " INSERT INTO `tblservice` (`ServiceID`,`accountID`, `Kind`, `Description`, `Price`, " + "`Quantity`, `Total`, `DateAndTime`) VALUES (NULL, ?, ?, ?, ?, ?, ?, ?)"; PreparedStatement pstm = conn.prepareStatement(sql); pstm.setIn

错误

String sql = " INSERT INTO `tblservice` (`ServiceID`,`accountID`, `Kind`, `Description`, `Price`, "
        + "`Quantity`, `Total`, `DateAndTime`) VALUES (NULL, ?, ?, ?, ?, ?, ?, ?)";
PreparedStatement pstm = conn.prepareStatement(sql);
pstm.setInt(1, this.accountID);
pstm.setString(2, "" + SelectionBox.getSelectedItem());
pstm.setString(3, desc);
pstm.setFloat(4, Float.parseFloat(PriceTF.getText()));
pstm.setFloat(5, Float.parseFloat(QuantityTF.getText()));
pstm.setFloat(6, this.getTotal());
pstm.setDate(7, dateAdded);

pstm.executeUpdate();

使用
setNull
而不是在查询中设置NULL
值(NULL,…)
例如:

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '?, ?, ?, ?, ?, ?, ?)' at line 1

将使用字段的类型,在这个例子中,我认为它是代码> java .sql .ype。整型< /Cord> >可以是代码> java .sql。类型:vARCHAR < /Cord>或任何< /P> 因此,您的查询应该如下所示:

pstm.setNull(1, java.sql.Types.INTEGER);

问题在哪里?上下文在哪里?我们需要更多信息,以便我们可以尝试帮助您…错误消息告诉您该怎么做。你的问题是什么?我目前正在使用一个按钮来触发代码,每次我按下按钮,它都会显示错误,没有操作触发,我的意思是没有插入数据。这不应该是它应该在表中添加新数据,但它不起作用。谢谢你的回答兄弟。我尝试了您的建议,但仍然返回了相同的错误。出现错误的原因是:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:您的SQL语法有错误;检查与您的MariaDB服务器版本对应的手册,以了解第1行的“?,?,?,?,?,?,?,?,?,?)”附近使用的正确语法是否确定字段的类型
accountID
我想它是数据库中的int而不是字符串,我错了@meltitsI已经更新了下面的语法,但仍然出现了相同的错误:sql=“插入
tblservice
ServiceID
accountID
种类
说明
价格
数量
总计
日期和时间
)值(?、、、、、、?、?)”; PreparedStatement pstm=conn.prepareStatement(sql)@您是否设置了
pstm.setNull(1,java.sql.Types.INTEGER)
String sql = "INSERT INTO tblservice (ServiceID, accountID, Kind, Description, 
               Price, Quantity, Total, DateAndTime) 
               VALUES (?, ?, ?, ?, ?, ?, ?, ?)";

PreparedStatement pstm = conn.prepareStatement(sql);
pstm.setNull(1, java.sql.Types.INTEGER);
pstm.setInt(2, this.accountID);
....