博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#实现MySQL数据库中的blob数据存储
阅读量:5242 次
发布时间:2019-06-14

本文共 2050 字,大约阅读时间需要 6 分钟。

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
//string insertStr = "update mm set aa=4,arr=@blobData where aa=4;";
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
}

转载于:https://www.cnblogs.com/wanghx-0713/p/7879012.html

你可能感兴趣的文章
python--数据类型--1
查看>>
简单计算器
查看>>
代码变量、函数命名神奇网站
查看>>
redis cli命令
查看>>
阿里云容器镜像加速器配置
查看>>
Problem B: 占点游戏
查看>>
css3基础篇二
查看>>
进程间的八种通信方式----共享内存是最快的 IPC 方式
查看>>
DPDK初始化流程
查看>>
MEF: MSDN 杂志上的文章(14) 稳定的组合
查看>>
python常用模块之sys, os, random
查看>>
HDU 2548 A strange lift
查看>>
Linux服务器在外地,如何用eclipse连接hdfs
查看>>
react双组件传值和传参
查看>>
BNU29140——Taiko taiko——————【概率题、规律题】
查看>>
POJ 2289——Jamie's Contact Groups——————【多重匹配、二分枚举匹配次数】
查看>>
java 得到以后的日期
查看>>
[Kaggle] Sentiment Analysis on Movie Reviews
查看>>
python安装easy_intall和pip
查看>>
HDU1004
查看>>