Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/343.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 我可以在INSERT PREPARED语句中使用命名参数吗?_Java_Sql_Jdbc_Prepared Statement - Fatal编程技术网

Java 我可以在INSERT PREPARED语句中使用命名参数吗?

Java 我可以在INSERT PREPARED语句中使用命名参数吗?,java,sql,jdbc,prepared-statement,Java,Sql,Jdbc,Prepared Statement,我想提出一个建议,然后我通常以这种方式在数据库中加载数据: PreparedStatement prep = con.prepareStatement ("INSERT INTO TABLE (NAME, LAST NAME) VALUES (?,?)");              prep.setString (1, name);              prep.setString (2, last name);              prep.executeUpdate ();

我想提出一个建议,然后我通常以这种方式在数据库中加载数据:

PreparedStatement prep = con.prepareStatement ("INSERT INTO TABLE (NAME, LAST NAME) VALUES (?,?)");
             prep.setString (1, name);
             prep.setString (2, last name);
             prep.executeUpdate ();
我想要一种避免指示数据引用索引的方法,也就是说,我希望不及时地将数据发送到PreparedStatement 没有索引,我想发送数据,然后它将是API来设置正确的字段,它可以使用类似的方式(注意,我将姓氏与名称颠倒,首先发送姓氏,API应该将其添加到第二个字段)


jdbc本机不支持准备语句中的命名参数。我发现这也许能回答你的问题


根据您使用的数据库(Oracle、MySQL等),您可能需要稍微不同的工具。

JDBC标准不支持
PreparedStatement
中的命名参数标记,但是,JDBC驱动程序的一些供应商实现确实支持它们——下面是一个示例。查看特定数据库供应商驱动程序实现的文档。

查看中的JAVA
PreparedStatement
文档。没有这样的方法

可用的方法通常如下所示:

set…(int参数索引,SomeObject变量名)

PreparedStatement prep = con.prepareStatement ("INSERT INTO TABLE (NAME, LAST NAME) VALUES (?,?)");
             prep.setString (surname, name);
             prep.setString (NAME, name);
             prep.executeUpdate ();