写个db基类,把
while($row = mysql_fetch_array($result,MYSQL_ASSOC))
{
$arr[]=$row;
}
封装成一个共通的函数,查询调用这个函数就行。结果就是一个数组。
跟 1# 一个思想。
一次性插入1000条数据比一条一条的插入速度会提升N倍,主要技巧就是在写SQL的上面,没啥难度
insert into table1 value (v1, v2, v3), (x1,x2,x3),
而不是
insert into table1 value (v1, v2, v3);
insert into table1 value (x1,x2,x3);
这样一条一条的插入
希望你能明白
首先循环数组
for($i=0;$i<count(array);$i++){
循环后,这里就能取到每一个数组元素的字符串
$str=array[$i];
这个str就是每一个数组元素的字符串了。下面接着插入就可以了。
}
<%
action=trim(request("action"))
select case action
case "update"
j = requestform("id")count
for i=1 to requestform("id")count
id=replace(requestform("id")(i),"'","")
a=replace(requestform("a")(i),"'","") '次数
b=replace(requestform("b")(i),"'","") '小计
connexecute("update 表 set a="&a&",b="&b&" where id="&id)
next
connclose
set conn=nothing
responseRedirect "indexasp"
responseEnd
end select %>
<form name="chkform" method="post" action="indexasp">
调用查询略rs
<input type="text" name="a" size="6" value="<%=rs("a") %>">
<input type="text" name="b" size="6" value="<%=rs("b") %>">
<input type="hidden" name="id" value="<%=rs("id")%>">
<INPUT type="button" value="更新商品!" onclick="documentchkformactionvalue='update'; documentchkformsubmit();">
</form>
<%
rsmovenext
loop
rsclose
set rs=nothing
%>
在写java程序时,你先设置含有电话号码属性的对象,而电话号码的类型为Long型,而你输入电话号码是String类型通过转型转换成Long,转换为:
LongvalueOf(String);设置到对象的电话号码属性里。最后把它插入到数据库中。
1设置一个数据库的连接串,
string
connectStr
=
"User
Id=scott;Password=tiger;Data
Source=";
OracleConnection
conn
=
new
OracleConnection(connectStr);
OracleCommand
command
=
new
OracleCommand();
commandConnection
=
conn;
connOpen();
2通过循环写入大量的数据
for
(int
i
=
0;
i
<
recc;
i++)
{
string
sql
=
"insert
into
dept
values("
+
iToString()
+
","
+
iToString()
+
","
+
iToString()
+
")";
commandCommandText
=
sql;
commandExecuteNonQuery();
}
//设置一个数据库的连接串
string
connectStr
=
"User
Id=scott;Password=tiger;Data
Source=";
OracleConnection
conn
=
new
OracleConnection(connectStr);
OracleCommand
command
=
new
OracleCommand();
commandConnection
=
conn;
//到此为止,还都是我们熟悉的代码,下面就要开始喽
//这个参数需要指定每次批插入的记录数
commandArrayBindCount
=
recc;
//在这个命令行中,用到了参数,参数我们很熟悉,但是这个参数在传值的时候
//用到的是数组,而不是单个的值,这就是它独特的地方
commandCommandText
=
"insert
into
dept
values(:deptno,
:deptname,
:loc)";
connOpen();
//下面定义几个数组,分别表示三个字段,数组的长度由参数直接给出
int[]
deptNo
=
new
int[recc];
string[]
dname
=
new
string[recc];
string[]
loc
=
new
string[recc];
//
为了传递参数,不可避免的要使用参数,下面会连续定义三个
//
从名称可以直接看出每个参数的含义,不在每个解释了
OracleParameter
deptNoParam
=
new
OracleParameter("deptno",
OracleDbTypeInt32);
deptNoParamDirection
=
ParameterDirectionInput;
deptNoParamValue
=
deptNo;
commandParametersAdd(deptNoParam);
OracleParameter
deptNameParam
=
new
OracleParameter("deptname",
OracleDbTypeVarchar2);
deptNameParamDirection
=
ParameterDirectionInput;
deptNameParamValue
=
dname;
commandParametersAdd(deptNameParam);
OracleParameter
deptLocParam
=
new
OracleParameter("loc",
OracleDbTypeVarchar2);
deptLocParamDirection
=
ParameterDirectionInput;
deptLocParamValue
=
loc;
commandParametersAdd(deptLocParam);
//在下面的循环中,先把数组定义好,而不是像上面那样直接生成SQL
for
(int
i
=
0;
i
<
recc;
i++)
{
deptNo[i]
=
i;
dname[i]
=
iToString();
loc[i]
=
iToString();
}
//这个调用将把参数数组传进SQL,同时写入数据库
commandExecuteNonQuery();
以上就是关于怎么把从数据库查出的多条数据放在一个数组里边全部的内容,包括:怎么把从数据库查出的多条数据放在一个数组里边、求php 大量向mysql数据库插入数据最快的方法!!!!、怎样向数据库里插入一个数组等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)