构造一个大的SQL语句呗,Insert into wer(A1,A2...A1000) Values(@a1,@a2,...@a1000)。里面有1000个参数,给参数数组循环赋值,然后执行就可以了。
这个字符串,你可以用循环来生成
string Sql,param;
Sql="";param="";
for(int i=1;i{
Sql+="A"+i.ToString()+",";
param+="@a"+i.ToString()+",";
}
Sql="Insert into wer("+Sql.Substring(0,Sql.Length-1)+") Values ("+param.Substring(0,param.Length-1));
给这个Sql的参数数组赋值,然后执行这个SQL;
不过我记得2000下面,单个SQL命令最大长度为4K字节(记得不是太清楚了,你可以自己试试看),如果有1000个字段,光写字段名就超过4K字节了。
如果SQL语句太常,就需要拆分成两条,一条插入,并返回一个id,然后根据第二条update,或者你的参数中自己就带了一个id也可以。
declare
--定义IntArray 类型,该类型是每个元素为int类型的数组
Type IntArray is table of int;
--定义一个IntArray 类型的变量
v_array IntArray := IntArray();
begin
--向数组中存入数据
for i in 1.. 100 loop
--需要扩展数组
v_array.extend;
v_array(i) := i;
end loop;
--输出数组的内容
for i in 1.. 100 loop
dbms_output.put_line(v_array(i));
end loop;
end;
SQL>set serverout on;
SQL>declare
2 --定义IntArray 类型,该类型是每个元素为int类型的数组
3 Type IntArray is table of int;
4 --定义一个IntArray 类型的变量
5 v_array IntArray := IntArray();
6 begin
7 --向数组中存入数据
8 for i in 1.. 100 loop
9 --需要扩展数组
10 v_array.extend;
11 v_array(i) := i;
12 end loop;
13
14 --输出数组的内容
15 for i in 1.. 100 loop
16 dbms_output.put_line(v_array(i));
17 end loop;
18 end;
19 /
1
2
3
4
5
6
7
8
9
10
此处省略90行
PL/SQL procedure successfully completed
SQL>
public class ddd {
public static void main(String args[]){
String driverClass="com.mysql.jdbc.Driver";
String url="jdbc:mysql://localhost:3306/find";//find数据库名
String user="root";//
String password="root";//MYSQL
Connection conn;
try {
Class.forName(driverClass).newInstance(); conn=DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement();
int i=0;
String a[]={"sad","dsds","dsfss"};
String sql="insert into XX values (null,'"+a[i]+"')";
for(i=0;i
int rs=stmt.executeUpdate(sql);
}catch(Exception ex){
ex.printStackTrace();
}
}
建个表,两列,ID 和word;ID设置自增;
有问题再找我。
以上是使用数组将数据输入到SQL数据库中的方法的详细内容。更多信息请关注PHP中文网其他相关文章!