1
System.IO.MemoryStream ms =
new
System.IO.MemoryStream();
2
private
void
button1_Click(object sender, EventArgs e)
3
{
4
5
int
[] arr = {
1
,
2
,
3
};
6
BinaryFormatter bFormatter =
new
BinaryFormatter();
7
bFormatter.Serialize(ms, arr);
8
byte
[] byteArr = ms.ToArray();
9
MessageBox.Show(byteArr.Length.ToString());
10
MySqlConnection conn =
new
MySqlConnection(Properties.Settings.Default.MySqlConnectString);
11
12
string insertStr =
"insert into mm(arr) values(@blobData);"
;
13
MySqlParameter par=
new
MySqlParameter(
"@blobData"
,MySqlDbType.Blob);
14
par.Value=byteArr;
15
MySqlCommand cmd =
new
MySqlCommand(insertStr, conn);
16
cmd.Parameters.Add(par);
17
try
18
{
19
conn.Open();
20
cmd.ExecuteNonQuery();
21
ms.Close();
22
ms.Dispose();
23
}
24
catch
(Exception ep)
25
{
26
MessageBox.Show(ep.Message);
27
}
28
29
30
}
31
32
private
void
button2_Click(object sender, EventArgs e)
33
{
34
BinaryFormatter bFormatter =
new
BinaryFormatter();
35
36
MySql.Data.MySqlClient.MySqlDataReader myData;
37
MySqlConnection conn =
new
MySql.Data.MySqlClient.MySqlConnection(Properties.Settings.Default.MySqlConnectString);
38
string readStr =
"select arr from mm where id =6;"
;
39
MySqlCommand cmd =
new
MySqlCommand(readStr, conn);
40
try
41
{
42
conn.Open();
43
myData = cmd.ExecuteReader();
44
if
(!myData.HasRows)
45
{
46
throw
new
Exception(
"没有blob数据"
);
47
}
48
myData.Read();
49
byte
[] blob =
new
byte
[myData.GetBytes(
0
,
0
,
null
,
0
,
int
.MaxValue)];
50
myData.GetBytes(
0
,
0
, blob,
0
, blob.Length);
51
myData.Close();
52
ms =
new
System.IO.MemoryStream(blob);
53
ms.Position =
0
;
54
int
[] arr = (
int
[])bFormatter.Deserialize(ms);
55
ms.Dispose();
56
string arrStr =
null
;
57
for
(
int
i =
0
; i < arr.GetLength(
0
); i++)
58
{
59
arrStr += arr[i].ToString()+
" "
;
60
}
61
MessageBox.Show(arrStr);
62
}
63
catch
(Exception ep)
64
{
65
MessageBox.Show(ep.Message);
66
}
67
68
}