MySQL连接器/NET发布说明
文件加载到文件
表,我们可以使用MySqlDataReader
类来检索它。
对象中检索一行文件
表,然后将数据加载到文件流
写入磁盘的对象:
c#代码示例
MySql.Data.MySqlClient.MySqlConnection康涅狄格州;MySql.Data.MySqlClient.MySqlCommand cmd;MySql.Data.MySqlClient.MySqlDataReader myData;conn = new MySql.Data.MySqlClient.MySqlConnection();cmd = new MySql.Data.MySqlClient.MySqlCommand();SQL字符串;UInt32文件大小;byte [] rawData;文件流fs;conn.ConnectionString = "server=127.0.0.1;uid=root;" + "pwd=12345;database=test"; SQL = "SELECT file_name, file_size, file FROM file"; try { conn.Open(); cmd.Connection = conn; cmd.CommandText = SQL; myData = cmd.ExecuteReader(); if (! myData.HasRows) throw new Exception("There are no BLOBs to save"); myData.Read(); FileSize = myData.GetUInt32(myData.GetOrdinal("file_size")); rawData = new byte[FileSize]; myData.GetBytes(myData.GetOrdinal("file"), 0, rawData, 0, (int)FileSize); fs = new FileStream(@"C:\newfile.png", FileMode.OpenOrCreate, FileAccess.Write); fs.Write(rawData, 0, (int)FileSize); fs.Close(); MessageBox.Show("File successfully written to disk!", "Success!", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); myData.Close(); conn.Close(); } catch (MySql.Data.MySqlClient.MySqlException ex) { MessageBox.Show("Error " + ex.Number + " has occurred: " + ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); }
Visual Basic代码示例
Dim conn As New MySqlConnection Dim cmd As New MySqlCommand Dim myData As MySqlDataReader Dim SQL As String Dim rawData() As Byte Dim FileSize As UInt32 Dim fs As FileStream conn. connectionstring = "server=127.0.0.1;"_ & "uid=root;"_ & "pwd=12345;"_ & "database=test" SQL = "SELECT file_name, file_size, file FROM file"试试conn.Open() cmd。Connection = conn cmd。CommandText = SQL myData = cmd。executerreader如果不是myData。HasRows然后抛出新异常("There are no blob to save") myData.Read() FileSize = myData.GetUInt32(myData.GetOrdinal("file_size")) rawData = New Byte(FileSize) {} myData.GetBytes(myData.GetOrdinal("file"), 0, rawData, 0, FileSize) fs = New FileStream("C:\newfile.png", FileMode. png")OpenOrCreate, FileAccess.Write) fs。写入(rawData, 0, FileSize) fs.Close() MessageBox。显示("文件成功写入磁盘!","成功!",MessageBoxButtons. "myData.Close() conn.Close()捕捉ex作为异常MessageBox。Show("There was an error: " & ex.Message, " error ", MessageBoxButtons. "OK, MessageBoxIcon.Error)结束尝试
连接后的内容文件
表都装入了MySqlDataReader
对象。的GetBytes
方法MySqlDataReader
用于加载团
写入字节数组,然后使用文件流
对象。
的GetOrdinal
MySqlDataReader方法可以用来确定命名列的整数索引。类的列顺序不正确时,使用GetOrdinal方法可防止出现错误选择
查询被修改。