数组存入数据库
❶ 如何把数组的值插入到数据库 c#
1.设置一个数据库的连接串,
string
connectStr
=
"User
Id=scott;Password=tiger;Data
Source=";
OracleConnection
conn
=
new
OracleConnection(connectStr);
OracleCommand
command
=
new
OracleCommand();
command.Connection
=
conn;
conn.Open();
2.通过循环写入大量的数据
for
(int
i
=
0;
i
<
recc;
i++)
{
string
sql
=
"insert
into
dept
values("
+
i.ToString()
+
","
+
i.ToString()
+
","
+
i.ToString()
+
")";
command.CommandText
=
sql;
command.ExecuteNonQuery();
}
//设置一个数据库的连接串
string
connectStr
=
"User
Id=scott;Password=tiger;Data
Source=";
OracleConnection
conn
=
new
OracleConnection(connectStr);
OracleCommand
command
=
new
OracleCommand();
command.Connection
=
conn;
//到此为止,还都是我们熟悉的代码,下面就要开始喽
//这个参数需要指定每次批插入的记录数
command.ArrayBindCount
=
recc;
//在这个命令行中,用到了参数,参数我们很熟悉,但是这个参数在传值的时候
//用到的是数组,而不是单个的值,这就是它独特的地方
command.CommandText
=
"insert
into
dept
values(:deptno,
:deptname,
:loc)";
conn.Open();
//下面定义几个数组,分别表示三个字段,数组的长度由参数直接给出
int[]
deptNo
=
new
int[recc];
string[]
dname
=
new
string[recc];
string[]
loc
=
new
string[recc];
//
为了传递参数,不可避免的要使用参数,下面会连续定义三个
//
从名称可以直接看出每个参数的含义,不在每个解释了
OracleParameter
deptNoParam
=
new
OracleParameter("deptno",
OracleDbType.Int32);
deptNoParam.Direction
=
ParameterDirection.Input;
deptNoParam.Value
=
deptNo;
command.Parameters.Add(deptNoParam);
OracleParameter
deptNameParam
=
new
OracleParameter("deptname",
OracleDbType.Varchar2);
deptNameParam.Direction
=
ParameterDirection.Input;
deptNameParam.Value
=
dname;
command.Parameters.Add(deptNameParam);
OracleParameter
deptLocParam
=
new
OracleParameter("loc",
OracleDbType.Varchar2);
deptLocParam.Direction
=
ParameterDirection.Input;
deptLocParam.Value
=
loc;
command.Parameters.Add(deptLocParam);
//在下面的循环中,先把数组定义好,而不是像上面那样直接生成SQL
for
(int
i
=
0;
i
<
recc;
i++)
{
deptNo[i]
=
i;
dname[i]
=
i.ToString();
loc[i]
=
i.ToString();
}
//这个调用将把参数数组传进SQL,同时写入数据库
command.ExecuteNonQuery();
❷ 数组如何存到数据库中
方法有很多,给你说两个常用的吧,都是基于关系型数据库的。如果你用面向对象数据库,那么直接就可以存进去了。这里假设你的数组元素是字符串。
直接把数组映射到关系型数据库中:建个表,只有两列,id和value。存的时候,数组下标对应的就是id,元素值就存到value列里面。
单数据值转换:数据库表有两列,name和value,name是数组变量名,value用来存这个数组。存之前,先把数组转成一个单一数据串,你可以转成单一字符串(例如["abc","def","ghi"]的形式),或者转成字节串,然后存到value列里面。读的时候可以利用动态编程的特性把这个字符串或字节串再赋值给相应的变量,就会直接转换回数组。现代编程语言大多数都支持动态编程,比如java、C#、Python等等。
❸ 关于数组怎么存储到数据库中
php将数组存入数据库中的四种方式
最近突然遇到了一个问题,如何用PHP将数组存入到数据库中,经过自己的多方查找和研究,总结了以下四种方法:
1.implode()和explode()方式
2.print_r()和自定义函数方式
3.serialize()和unserialize()方式
4.json_encode()和json_decode()方式
❹ 在java中如何将数组里的数据存入数据库呢
保存字节数组到数据库分两步:
第一、利用FileInputStream.read(byte[])方法把内容读取到byte[]数组中,比如图片是由二进制数组成的,就可以定义为一个字节数组。
第二、在数据库中对应记录字段应该设置为blob类型,这样就能够顺利保存了
事例代码如下:
PreparedStatement stmt = connection.generatePreparedStatement("INSERT INTO ... ");
stmt.setBytes(1, yourByteArray);
其中,yourByteArray是你读出来的字符数组。
❺ 如何将一个数组存入数据库中
将一个数组存入数据库和使用的语言有关系。
通常的做法是将数组的内容转换后传递到和语言相关的数据处理方法中进行处理。
涉及到的数据转换的方法:
1:可以转换为json格式
[{key:1},{key:2}]
2:可以转换为xml
<values>
<key>1</key><key>2</key>
</values>
数据处理方法解析转换后的字符串,执行数据库保存操作。
❻ php 多个 数组 怎样存入数据库
订单提交后:
$_POST['list'] 的值会是:
array(a,b,c,d,e,a,b,a,b,c,d);
根本就没有使用价值,即无法分清楚是这些选项是属于哪个名称的。所以,要么用js先在提交之前加工一个“list”的值,或者改交下list的名称,如下:
<input type="checkbox" name="list[]" value="a" />
改为:
<input type="checkbox" name="list_sina[]" value="a" />
其他的按些修改。
在提交之后的处理代码如下:
$title=isset($_POST['title'])?$_POST['title']:array();
$insert_data=array();
foreach($titleas$row){
$name=trim($row);
$list=isset($_POST['list_'.$name])?implode(',',$_POST['list_'.$name]):'';
$insert_data[]="('$name','$list')";
}
if(!empty($insert_data))$mysql->query('INSERTINTOmysql_table(name,list)VALUES'.implode(',',$insert_data));
这样的数据库查询语句为:
INSERT INTO mysql_table(name,list)VALUES ('sina','a,b,c,d,e'),('qq','a,b'),('ifeng','a,b,c,d')