MP3文件用BLOB类型存入mysql数据库中,读取的时候怎么能分段按读取?
我是这样做的
sqlstr="select substring(file_data,0,1024) as file_data from file where id='148 '";
MySQLCommand cm = new MySQLCommand(sqlstr, conn);
MySQLDataReader dr = cm.ExecuteReaderEx();
//列file_data是blob类型
结果dr总是空的,然而不分段时能正常读取:
sqlstr="select file_data from file where id='148 '";
MySQLCommand cm = new MySQLCommand(sqlstr, conn);
MySQLDataReader dr = cm.ExecuteReaderEx();
byte[] File = null;
if (dr.Read())
{
File = (byte[])dr[0];
}
FileStream fs;
FileInfo fi = new System.IO.FileInfo("yy.mp3");
fs = fi.OpenWrite();
fs.Write(File, 0, File.Length);
fs.Close();
这是什么原因啊,该怎么解决??在线等
我是这样做的
sqlstr="select substring(file_data,0,1024) as file_data from file where id='148 '";
MySQLCommand cm = new MySQLCommand(sqlstr, conn);
MySQLDataReader dr = cm.ExecuteReaderEx();
//列file_data是blob类型
结果dr总是空的,然而不分段时能正常读取:
sqlstr="select file_data from file where id='148 '";
MySQLCommand cm = new MySQLCommand(sqlstr, conn);
MySQLDataReader dr = cm.ExecuteReaderEx();
byte[] File = null;
if (dr.Read())
{
File = (byte[])dr[0];
}
FileStream fs;
FileInfo fi = new System.IO.FileInfo("yy.mp3");
fs = fi.OpenWrite();
fs.Write(File, 0, File.Length);
fs.Close();
这是什么原因啊,该怎么解决??在线等
1 直接对数据库的Blob的InputStream操作
2 将数据全部读取并写入到临时文件,然后再操作
然后取数据的时候,数据的类型是 Blob 类型的。
取Blob类型的数据的语法是:
Blob Emp_id_picSELECTBLOB Emp_pic INTO :Emp_id_pic FROM Employee WHERE Employee.Emp_Num = 100 USING Emp_tran ;p_1.SetPicture(Emp_id_pic)而不是 select。这个很重要,要分清楚。
原来用SELECT时,读几个字节都不可以
就是说可以用SELECTBLOB 语句就可以读取了?
我试试看希望可以吧,不知道有没有其他的实现方法,能够边读边播放