Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/378.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 如何从PreparedStatement中获取列的名称?_Java_Jdbc_Prepared Statement_Resultset - Fatal编程技术网

Java 如何从PreparedStatement中获取列的名称?

Java 如何从PreparedStatement中获取列的名称?,java,jdbc,prepared-statement,resultset,Java,Jdbc,Prepared Statement,Resultset,我想使用prepared语句的set方法加密分配给某些列的值?为此,我必须从预编译的preparedstatement中获取列名。我该怎么做 我尝试获取ResultSetMetaData,但使用方法getMetaData(),但始终获取空值。getParameterMetaData()不为null,但不用于获取列名 在设置参数之前,是否有其他方法可以从preparedStatement获取实际的db列名 ResultSetMetaData的Java文档说getMetaData()返回 Resul

我想使用prepared语句的set方法加密分配给某些列的值?为此,我必须从预编译的preparedstatement中获取列名。我该怎么做

我尝试获取ResultSetMetaData,但使用方法getMetaData(),但始终获取空值。getParameterMetaData()不为null,但不用于获取列名

在设置参数之前,是否有其他方法可以从preparedStatement获取实际的db列名

ResultSetMetaData的Java文档说getMetaData()返回 ResultSet对象列的说明,如果驱动程序 无法返回ResultSetMetaData对象

然而,在我的例子中,如果我删除对getMetaData()的调用,一切都会正常工作,所以即使驱动程序无法返回元数据对象,prepared语句也可能正常运行并执行? 编辑1
我正在开发一个JDBC驱动程序,它将与MySQL和MSSQL一起使用。目前我只在MySQL上测试。

您的SQL语句是什么?你是什么数据库using@Blip请参阅我的编辑。附带问题:为什么要编写一个JDBC驱动程序来访问MySQL和MS SQL。JDBC的定义方式完全没有必要:如果驱动程序支持特定的URL,则动态加载并使用驱动程序。您可能还想提供更多信息:哪个驱动程序具有这种行为,并包括演示此行为所需的代码。@MarkRotterVeel实际上我有一些常用代码(如加密/解密)我想在每次调用preparedStatement的set()方法和resultset的get方法之前使用它。。这样,我将在驱动程序代码中处理加密和解密,而其他团队甚至不需要知道它。