`

用Mysql Connect/Net来测试Blog数据

阅读更多

1、首先从Mysql上面下载Connecter

2、建立数据表

use test;

create table blobtest(

    id integer primary key auto_increment,

   imgdata mediumblob

);

3、存储文件到Blob字段

MySqlConnection conn = null;
           try
           {
               string connstr = "Database=Test;Data Source=localhost;User Id=root";
               conn = new MySqlConnection(connstr);
               //conn.Open();
               string query = "insert into test.blobtest (imgdata) values (?img)";
               string tmp = null;
               MySqlCommand cmd = new MySqlCommand(query, conn);

               FileStream fs = new FileStream(@"d:\PS8940009M11Y转化机封.dwg", FileMode.Open, FileAccess.Read);
               Byte[] bytes = new Byte[fs.Length];
               fs.Read(bytes, 0, (int)bytes.Length);
               fs.Close();

               MySqlParameter param = new MySqlParameter("img",
                   MySqlDbType.MediumBlob,
                   (int)bytes.Length,
                   ParameterDirection.Input,
                   false,
                   0,
                   0,
                   null,
                   DataRowVersion.Current,
                   bytes);

               //MySqlParameter param=new MySqlParameter("@img",MySqlDbType.MediumBlob);
               //param.Value=bytes;
               //cmd.Parameters.AddWithValue("@img",bytes);
               cmd.Parameters.Add(param);
               conn.Open();
               cmd.ExecuteNonQuery();

           }
           catch (Exception ex)
           {
               MessageBox.Show(ex.Message);
           }
           finally
           {
               conn.Close();
           }

4、从数据库到处Blob到文件

string connstr = "Database=Test;Data Source=localhost;User Id=root";
           MySqlConnection conn = new MySqlConnection(connstr);

           MySqlCommand cmd = new MySqlCommand("select imgdata from blobtest where id=15", conn);

           MySqlDataReader sdr = null;
           conn.Open();
           sdr = cmd.ExecuteReader(CommandBehavior.SequentialAccess);

           sdr.Read();
           //long startIndex = 0;
           //int retval;
           //int buffer_len = 1024;
           //Byte[] bytes = new Byte[buffer_len];
           //FileStream fs = new FileStream(@"d:\a2.dwg", FileMode.OpenOrCreate, FileAccess.Write);
           //BinaryWriter writer = new BinaryWriter(fs);

           //retval = (int)sdr.GetBytes(0, startIndex, bytes, 0, buffer_len);
           //while (retval == buffer_len)
           //{
           //    writer.Write(bytes);
           //    writer.Flush();
           //    startIndex += buffer_len;
           //    retval = (int)sdr.GetBytes(0, startIndex, bytes, 0, buffer_len);
           //}

           int retval;
           FileStream fs = new FileStream(@"d:\a2.dwg", FileMode.OpenOrCreate, FileAccess.Write);

           Byte[] bytes = new Byte[(sdr.GetBytes(0, 0, null, 0, int.MaxValue))];
           retval = (int)sdr.GetBytes(0, 0, bytes, 0, (int)bytes.Length);
           fs.Write(bytes, 0, (int)bytes.Length);

           //writer.Close();
           sdr.Close();
           conn.Close();

           //writer.Close();
           fs.Close();

 

5、几个误区

    1、同Ado.net不同,MysqlCommand的Parameter的表示是“?”,而不是“@”。

    2、ByteFx.Data就是Mysql Connector/Net以前的版本,不建议使用。

del.icio.us 标记: Mysql, Ado.net, c#
分享到:
评论

相关推荐

    mysql-connector-net-6.9.12.zip

    完成安装后,Connector/Net会自动注册到你的.NET环境中,使得你的应用程序能够轻松识别并使用MySQL数据源。 【使用示例】 在C#中,你可以通过以下方式创建一个数据库连接: ```csharp using MySql.Data....

    mysql-connect驱动

    ODBC是一种标准的API,使得不同的数据库系统可以通过统一的方式进行访问,因此,无论你使用的是何种编程语言或数据库,只要支持ODBC,就能使用MySQL Connect驱动来连接MySQL数据库。 在描述中提到的"课设用过",...

    mysql-connector-net-5.2.7-src.zip_ .net mysql connect_MySQL Conn

    总的来说,通过深入学习和分析 MySQL Connector/Net 的源代码,开发者不仅可以提升对 .NET 数据访问技术的理解,还能掌握 MySQL 与 .NET 之间的通信机制,为开发更高效、更稳定的应用程序打下坚实基础。

    mysql connect for vs2003/2005

    标题“mysql connect for vs2003/2005”指的是在Visual Studio 2003或2005环境下使用MySQL数据库的连接组件。这个组件使得C#开发者能够利用.NET Framework与MySQL服务器进行交互,实现数据的存取和处理。 描述中...

    C_link_mysql.zip_C MYSQL_c++ mysql_connect_mysql c#_mysql c++

    1. **C语言连接MySQL**:在C语言环境中,我们可以使用MySQL提供的C API(应用程序编程接口)来连接和操作数据库。这通常涉及到`mysql_init()`函数初始化MySQL连接环境,`mysql_real_connect()`函数建立到MySQL服务器...

    Linux安装nginx/mysql/php/zabbix

    3. **创建数据目录并设置权限**: ```bash mkdir /opt/platform/data chown -R mysql /opt/platform/data ``` 4. **编辑配置文件`/etc/my.cnf`**: ```ini [mysqld] datadir=/opt/platform/data/mysql socket=...

    测试mysql数据库链接(java)

    ### 测试MySQL数据库连接(Java) #### 知识点概览 本文将详细介绍如何通过Java程序测试MySQL数据库的连接,并确保数据库配置成功。这涉及到的关键技术包括:Java JDBC API、MySQL JDBC驱动、异常处理机制以及基本...

    MYSQL连接测试程序

    MySQL连接测试程序是一种基于VC(Visual C++)的软件开发工具,用于通过API接口与MySQL数据库进行交互。在本文中,我们将深入探讨如何利用API方式访问MySQL数据库,并提供查询示例,帮助你理解和掌握相关技术。 ...

    mysql-connector-java-8.0.24

    MySQL Connector/J 8.0.24 是MySQL数据库与Java应用程序之间的重要桥梁,它是一个用于连接Java应用程序到MySQL服务器的JDBC驱动程序。这个版本的发布旨在提供更高效、更稳定以及更安全的数据访问功能。以下是对这个...

    各个版本mysql-connector-net.zip

    MySQL Connector/Net是MySQL数据库与.NET应用程序之间的重要桥梁,它是一个完全开源的ADO.NET驱动程序,使得开发人员能够轻松地使用C#、VB.NET或其他.NET语言来连接和操作MySQL数据库。这个压缩包文件包含了不同版本...

    MySQL主从复制-主库已有数据的解决方案.docx

    我们在主数据库准备了一个 TEST1 库,并且在其中准备一张数据表 TEST 和几条测试数据。 2.2 锁定主数据库 锁定主数据库,只允许读取不允许写入,这样做的目的是防止备份过程中或备份完成之后有新数据插入,导致...

    MySql数据库测试程序

    5. 处理结果集:如果查询返回结果,可以使用`mysql_store_result()`或`mysql_use_result()`来获取结果集。然后,可以使用`mysql_fetch_row()`遍历每一行数据。 6. 关闭连接:完成操作后,记得使用`mysql_close()`...

    python读取txt文件将数据导入mysql数据库

    在测试的时候,需要造模拟数据,或者是将生产环境的数据导出到测试环境中去,本文记录通过python读取txt文件,并将数据导入mysql数据库 1、示例代码: import pymysql # 打开数据库连接 conn = pymysql.connect(host...

    MySQL中文参考手册.chm

    <br/>10.2.7 MySQL 怎样使用内存 <br/>10.2.8 MySQL 怎样锁定数据库表 <br/>10.2.9 数据库表级锁定的问题 <br/>10.3 使你的数据尽可能小 <br/>10.4 MySQL 索引的使用 <br/>10.5 存取或更新数据的查询速度<br/>...

    VC6 开发操作mysql数据库 代码 +sql文件 测试可用

    你需要使用`mysql_connection`类来建立连接,并使用`sql::mysql::MySQL_Driver`类的`get_driver_instance()`方法获取驱动实例。然后通过`connect()`方法设置服务器地址、用户名、密码和数据库名,建立连接。 5. **...

    mybatis连接MySQL8出现的问题解决方法

    之前MyBatis自动生成的代码都是正常的,但是在测试类中使用Connection进行连接测试并查询数据库时,也是能够正常查询到数据的。 解决方法 解决这个问题的关键是升级mysql-connect-java版本。从MySQL5.1.6升级到...

    mysql-connector-odbc-5.1.5-win32

    安装了 MySQL Connector/ODBC 后,Windows 用户可以通过数据源名称 (DSN) 配置数据连接,然后在各种应用程序中(如 Microsoft Excel、Access 或 Visual Studio)使用这些连接。 在配置 MySQL Connector/ODBC 时,...

    Centos 6.5下C连接MySQL测试

    在本文中,我们将深入探讨如何在CentOS 6.5操作系统环境下,使用C语言编写程序来连接并测试MySQL数据库。这个过程涉及多个关键知识点,包括C编程基础、MySQL数据库接口、CentOS系统管理和配置。 首先,我们需要理解...

    dolphinscheduler安装包和mysql的jdbc连接jar包

    在本压缩包中,包含的是DolphinScheduler的安装包以及MySQL的JDBC连接器,这将帮助用户将DolphinScheduler与MySQL数据库进行集成,实现任务调度的数据存储。 Apache DolphinScheduler 1.3.4是该版本的安装包,名为`...

    mysql的建立连接,读取数据

    在进行测试时,通常会创建一个小型的数据库结构,插入一些测试数据,然后尝试执行各种操作以确保驱动程序正常工作。`SqlTest`可能包含了这样的测试脚本或应用程序,用于验证MySQL驱动程序的正确配置和功能。 在...

Global site tag (gtag.js) - Google Analytics