數組存入資料庫
❶ 如何把數組的值插入到資料庫 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')