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(); 
这是什么原因啊,该怎么解决??在线等

解决方案 »

  1.   

    sqlstr="select  substring(file_data,1,1024) as file_data from file where id='148 '"; 
      

  2.   

    分段读取是啥意思?你有2个选择
    1 直接对数据库的Blob的InputStream操作
    2 将数据全部读取并写入到临时文件,然后再操作
      

  3.   

    首先要设置PB.ini配置文件要充许PB可以读写32K以上的大文件。
    然后取数据的时候,数据的类型是 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。这个很重要,要分清楚。
      

  4.   


    原来用SELECT时,读几个字节都不可以
    就是说可以用SELECTBLOB 语句就可以读取了?
    我试试看希望可以吧,不知道有没有其他的实现方法,能够边读边播放