Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/322.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 如何在数据库中插入行?_Java_Sql - Fatal编程技术网

Java 如何在数据库中插入行?

Java 如何在数据库中插入行?,java,sql,Java,Sql,我写这段代码是为了向数据库添加内容,但是,当我尝试运行它时,它不起作用,我一直在寻找方法,但我似乎找不到解决方案,有人能帮我吗 String mySQL ="INSERT INTO Measurement (Level, Time, Date, TankID)"+"VALUES (textField1, currentTime,currentDate,(SELECT TankID FROM Tanks WHERE TankName = '2' AND Site_ID

我写这段代码是为了向数据库添加内容,但是,当我尝试运行它时,它不起作用,我一直在寻找方法,但我似乎找不到解决方案,有人能帮我吗

String mySQL ="INSERT INTO Measurement (Level, Time, Date, TankID)"+"VALUES (textField1, currentTime,currentDate,(SELECT TankID FROM Tanks WHERE TankName = '2' AND Site_ID = '1'))";

stmt.executeUpdate(mySQL);

SQL和prepared语句的格式都不正确。尝试使用插入到。。。在此处选择:

字符串sql=插入度量级别、时间、日期、TankID; sql+=选择?、?、?和TankID; sql+=来自储罐; sql+=其中TankName='2'和Site_ID='1'; stmt.setString1,textField1; stmt.setString2,当前时间;//我不确定这里的类型 stmt.setString3,当前日期;//也不确定类型 stmt.executeUpdate;
请注意,我不确定currentTime和currentDate列的Java和SQL绑定类型。如果不是字符串,则上面的内容必须稍微更改。

SQL和prepared语句的格式都不正确。尝试使用插入到。。。在此处选择:

字符串sql=插入度量级别、时间、日期、TankID; sql+=选择?、?、?和TankID; sql+=来自储罐; sql+=其中TankName='2'和Site_ID='1'; stmt.setString1,textField1; stmt.setString2,当前时间;//我不确定这里的类型 stmt.setString3,当前日期;//也不确定类型 stmt.executeUpdate;
请注意,我不确定currentTime和currentDate列的Java和SQL绑定类型。如果不是字符串,则上面的内容必须稍微更改。

根据您的数据库类型更改连接详细信息


如果您执行了上述步骤,请忽略此操作。

根据您的数据库类型更改连接详细信息

如果执行了上述步骤,请忽略此..

您应该使用PreparedStatement正确设置插入查询的第一个参数,并检查数据库服务器的文档,以使用现有函数获取当前时间和日期

例如,mySQL具有函数和

字符串查询=插入度量级别、时间、日期、TankID +值?,CURTIME,CURDATE,从TankName='2'和Site_ID='1'的储罐中选择TankID; 请尝试PreparedStatement语句=connection.prepareStatementquery{ statement.setString1,textField1;//可以是textField1.getText或textField1.getValue statement.executeUpdate; } 您应该使用PreparedStatement正确设置insert查询的第一个参数,并检查DB服务器的文档,以使用现有函数获取当前时间和日期

例如,mySQL具有函数和

字符串查询=插入度量级别、时间、日期、TankID +值?,CURTIME,CURDATE,从TankName='2'和Site_ID='1'的储罐中选择TankID; 请尝试PreparedStatement语句=connection.prepareStatementquery{ statement.setString1,textField1;//可以是textField1.getText或textField1.getValue statement.executeUpdate; }
请提供SQL异常的文本有什么错误?你可以附加日志输出吗?在这里,关于堆栈溢出,你会发现无数使用JDBC将行插入数据库的例子。请在发布前彻底搜索。请提供SQL例外的文本错误是什么?你可以附加日志输出吗?在这里,关于堆栈溢出,你会发现无数使用JDBC将行插入数据库的例子。请在发布前进行彻底搜索。您的插入语法甚至不会在某些SQL数据库上运行,除此之外,它很可能不是OP想要的逻辑,除非该子查询实际上只返回一条记录。您的插入语法甚至不会在某些SQL数据库上运行,除此之外,这可能不是OP想要的逻辑,除非子查询实际上只返回一条记录。