C#利用MySQL的BLOB存储和读取文件和对象

本文介绍了如何在MySQL数据库中使用BLOB类型存储和读取文件及对象,详细阐述了四种BLOB类型的容量限制,并展示了在WPF应用程序中实现文件存取和对象序列化的步骤。
摘要由CSDN通过智能技术生成

BLOB类型

在MySQL中,BLOB类型的字段用于存储二进制数据

BLOB类型分为四类(单位:字节)

  • TinyBlob 最大 255
  • Blob 最大 65K
  • MediumBlob 最大 16M
  • LongBlob 最大 4G

WPF实现

在WPF的窗口新建四个按钮,功能如图所示:
这里写图片描述

存文件到数据库

private void Button_Click(object sender, RoutedEventArgs e)
        {       
            MySqlConnection conn;
            MySqlCommand cmd;

            conn = new MySqlConnection();
            cmd = new MySqlCommand();

            string SQL;
            long FileSize;
            byte[] rawData;
            FileStream fs;

            conn.ConnectionString = "SERVER=120.95.132.137;DATABASE=cad_project;UID=root;PASSWORD=;charset=utf8;";

            try
            {
                fs = new FileStream(@"f:\test1.txt", FileMode.Open, FileAccess.Read);
                FileSize = fs.Length;

                rawData = new byte[FileSize];
                fs.Read(rawData, 0, (int)FileSize);
                fs.Close();

                conn.Open();

                SQL = "INSERT INTO serialization VALUES(NULL, @FileName, @FileSize, @File)";

                cmd.Connection = conn;
                cmd.CommandText = SQL;
                cmd.Parameters.AddWithValue("@FileName", "test1");
                cmd.Parameters.AddWithValue("@FileSize", FileSize);
                cmd.Parameters.AddWithValue("@File", rawData);

                cmd.ExecuteNonQuery();

                MessageBox.Show("File Inserted into database successfully!",
                    "Succ
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值