Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.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_Prepared Statement - Fatal编程技术网

Java 创建具有大量列的准备语句

Java 创建具有大量列的准备语句,java,prepared-statement,Java,Prepared Statement,我必须构建一个insert查询字符串来创建一个准备好的语句。我有Excel文件中的所有列名 表中有250多列,创建一个简单的插入查询需要花费大量的时间和精力。我必须计算列数并将?放入查询中的值字段中 是否有其他方法来创建这些查询 请建议。 提前感谢提供了快速插入功能,您可以使用批处理准备语句或从复制(取决于数据库及其驱动程序)-有关更多信息,请参阅。我可以建议一种执行此操作的范例,但根据我的了解,实现它将是一个更大的问题,这是一项相当复杂的任务 您可以使用jxlapi读取这些列名,也可以将它们的

我必须构建一个insert查询字符串来创建一个准备好的语句。我有Excel文件中的所有列名

表中有250多列,创建一个简单的插入查询需要花费大量的时间和精力。我必须计算列数并将
放入查询中的值字段中

是否有其他方法来创建这些查询

请建议。
提前感谢

提供了快速插入功能,您可以使用批处理准备语句或从复制(取决于数据库及其驱动程序)-有关更多信息,请参阅。

我可以建议一种执行此操作的范例,但根据我的了解,实现它将是一个更大的问题,这是一项相当复杂的任务

您可以使用jxlapi读取这些列名,也可以将它们的类型存储在同一个excel文件中(这在准备语句时非常有用)

因此,您的excel将是:

Column 1 | Integer
Column 2 | String
Column 3 | Date 
等等

JXL将允许您将所有这些信息读入java程序,并将这些信息存储在映射(java.util.HashMap)中,因此此时您就有了程序中列的名称及其数据类型

现在,关于创建准备好的语句

String allColumnNames ="";
foreach element in the hashmap, allColumnNames+=getKey() + ","
因此,此时allColumnNames具有所有的列名

将准备好的陈述分成几个部分:

String statement = "insert into table ("+ allColumnNames +") values " + <250 ? marks here>;
String语句=“插入表(“+allColumnNames+”)值”+;
这是你准备好的声明

String allColumnNames ="";
foreach element in the hashmap, allColumnNames+=getKey() + ","
在此之后,要插入内容,您可以再次迭代hashmap,并根据hashmap的“值”部分调用setString或setInt或其他任何函数


正如我所说,这是一个漫长而复杂的过程,但您甚至可以修改此过程,只需在excel文件中设置值,然后将它们直接从excel插入表中。

您所做的只是一次性工作!您是否在寻找一些机械的解决方法或java解决方案?是的,任何事情都可以,因为我必须编写相同的查询,但需要对10多个表稍作修改