一个数组如何存入到sql数据库中某个字段中

一个数组如何存入到sql数据库中某个字段中,第1张

存可以把数组连成字符串的形式存 取得时候再分割就好了

比如5个数字

update 表 set unum="1,2,3,4,5"

取出来以后用split()函数分割 就好了

首先你要学会查错,最简单的方式就是打印出来看。你可以在第一个变量$arr_ip下一行,把这个变量打印出来看是不是数组,如果是数组,直接存入数据库时就是array,你可以把数组json_encode一下,这样存入进去的就是序列化后的字符串了,但你拿出来时也要json_decode一下,把字符串还原成数组。

既然是数组,有个简便的方法 你循环出来用逗号表达式来分隔例如下边:

String str[] ={"abc","cdf","aaa"};

StringBuffer buffer =new StingBuffer();

for(int i=0;i<strlength;i++){

bufferappend(str[i]+",");

}

用这个buffertoString转换成字符串 存到数据库中,下次取这个数据的数据时候可以用String类的split方法来得到这个字符串数组

例如:String str ="abc,cbd,"aaa";

String str1[] =strsplit(",")

不能直接保存数组,只能把数组转换为字符串,读取的时候,先读出字符串,然后通过split函数分割,还原数组。举个例子,比如你定义一个数组Dim MyArray(1,2,3,4,5),存入数据库的字符串就是1,2,3,4,5

保存字节数组到数据库分两步:

第一、利用FileInputStreamread(byte[])方法把内容读取到byte[]数组中,比如是由二进制数组成的,就可以定义为一个字节数组。

第二、在数据库中对应记录字段应该设置为blob类型,这样就能够顺利保存了

事例代码如下:

PreparedStatement stmt = connectiongeneratePreparedStatement("INSERT INTO ");

stmtsetBytes(1, yourByteArray);

其中,yourByteArray是你读出来的字符数组。

$count_num=count($array['tixing']);

for ($x=0; $x<=$count_num; $x++) {

foreach($array as $key=>$v){

$dataList[$x][$key] =$array[$key][$x];

}

}

//你的二级数组都是一样的大小的话 可以用这个来写。

m()->addAll($dataList);//批量插入数据。

一)Access数据库

1) 设计表,将段M1,M2,M3的类型设置为"OLE对象"

2)写入数据库

//要写入数据库的数据

byte[] m1 = ……;

byte[] m2 = ……;

byte[] m3 = ……;

//数据库

OleDbConnection conn= new OleDbConnection("你的连接串"); 

connOpen( )

OleDbCommand cmd = new OleDbCommand();

cmdConnection = conn;

cmdCommandText = "INSERT INTO `m` (`M1, `M2', `M3`) VALUES (, , )";

//添加参数

OleDbParameter p = cmdParametersAdd("m1", OleDbTypeLongVarBinary);

pValue = m1;

p = cmdParametersAdd("m2", OleDbTypeLongVarBinary);

pValue = m2;

p = cmdParametersAdd("m3", OleDbTypeLongVarBinary);

pValue = m3;

//执行

cmdExecuteNonQuery();

二)SQL Server

1)设计表,将段M1,M2,M3的类型设置为"varbinary(2000)" (2000是随意写的,根据实际情况,可以调整)

2)写入数据

//要写入数据库的数据

byte[] m1 = ……;

byte[] m2 = ……;

byte[] m3 = ……;

//数据库

SqlConnection conn= new SqlConnection("你的连接串"); 

connOpen( )

SqlCommand cmd = new SqlCommand();

cmdConnection = conn;

cmdCommandText = "INSERT INTO [m] ([m1], [m2], [m3]) VALUES (@m1, @m2, @m3)";

//添加参数

SqlParameter p = cmdParametersAdd("m1", SqlDbTypeVarBinary);

pValue = m1;

p = cmdParametersAdd("m2", SqlDbTypeVarBinary);

pValue = m2;

p = cmdParametersAdd("m3", SqlDbTypeVarBinary);

pValue = m3;

//执行

cmdExecuteNonQuery();

首先循环数组

for($i=0;$i<count(array);$i++){

循环后,这里就能取到每一个数组元素的字符串

$str=array[$i];

这个str就是每一个数组元素的字符串了。下面接着插入就可以了。

}

以上就是关于一个数组如何存入到sql数据库中某个字段中全部的内容,包括:一个数组如何存入到sql数据库中某个字段中、php保存数组到数据库、java中如何将字符串数组保存在数据库里等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10168624.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存