有个声音保存在SQL2000中以images中,我用什么方法可以把它调出保存到文件(wav)在线

解决方案 »

  1.   

    TBlobField(query1.fieldbyname('字段名')).SaveToFile('文件名.wav');
      

  2.   

    不行呀,我用过了,保存的声音不全
    哦对了,我的声音文件是从ORACLE数据库中调入到SQL中的
    ?再问就是在ORACLE中保存的声音如何保存为文件???
      

  3.   

    with database1.Params do
       begin
        clear;
        add('database name=' + database_name);
        add('server name=' + server_name);
        add('user name=' + user_name);
        add('password=' + password);
        add('OPEN MODE=READ/WRITE');
        add('SCHEMA CACHE SIZE=8');
        add('BLOB EDIT LOGGING=');
        add('LANGDRIVER=');
        add('SQLQRYMODE=');
        add('SQLPASSTHRU MODE=SHARED NOAUTOCOMMIT');
        add('DATE MODE=0');
        add('SCHEMA CACHE TIME=-1');
        add('MAX QUERY TIME=300');
        add('MAX ROWS=-1');
        add('BATCH COUNT=200');
        add('ENABLE SCHEMA CACHE=true');
        add('SCHEMA CACHE DIR=c:\');
        add('HOST NAME=');
        add('APPLICATION NAME='+Application.Title);
        add('NATIONAL LANG NAME=');
        add('ENABLE BCD=FALSE');
        add('TDS PACKET SIZE=4096');
        add('BLOBS TO CACHE=64');
        add('BLOB SIZE=1024');//将blob的大小设大些
       end;
      

  4.   

    这段代码是将ORACLE数据库中的数据复制到SQL中吗?
      

  5.   

    是在用bde连接sqlserver数据库时的参数,在最后一个参数中将blob字段的最大大小改大,解决声音被截断的问题,你可以试试看
      

  6.   

    对,是blob size的问题,1024是1M,10240是10M要根据你的文件大写设置相应的别名(你程序中连接用的)中的blob size大小,设为10240试试
      

  7.   

    jin_zai(进仔) 能告诉我每一步是做什么用的吗???
      

  8.   

    我现在用导入的方法把ORACLE中的数据导入我的SQL中了可是我用
    TBlobField(query1.fieldbyname('字段名')).SaveToFile('文件名.wav');
    保存到文件,文件长度为0而我用一般的SQL语句插入到我的SQL中,我用这种方法,可以得到32k的一个文件
    这是怎么回事???帮助我一下,顺便问一下你的那个,
    with database1.Params do
       begin
        clear;
        add('database name=' + database_name);
        add('server name=' + server_name);
        add('user name=' + user_name);
        add('password=' + password);
        add('OPEN MODE=READ/WRITE');
        add('SCHEMA CACHE SIZE=8');
        add('BLOB EDIT LOGGING=');
        add('LANGDRIVER=');
        add('SQLQRYMODE=');
        add('SQLPASSTHRU MODE=SHARED NOAUTOCOMMIT');
        add('DATE MODE=0');
        add('SCHEMA CACHE TIME=-1');
        add('MAX QUERY TIME=300');
        add('MAX ROWS=-1');
        add('BATCH COUNT=200');
        add('ENABLE SCHEMA CACHE=true');
        add('SCHEMA CACHE DIR=c:\');
        add('HOST NAME=');
        add('APPLICATION NAME='+Application.Title);
        add('NATIONAL LANG NAME=');
        add('ENABLE BCD=FALSE');
        add('TDS PACKET SIZE=4096');
        add('BLOBS TO CACHE=64');
        add('BLOB SIZE=1024');//将blob的大小设大些
       end;能告诉我做用吗?
      

  9.   

    这是连接一个数据库需要的一些参数设置,我觉得你还应该需要一个把文件导入到sql中的方法,其实使用delphi中的流就行了,把数据从数据库读到文件流中再保存就行了,上面的大哥该的参数是为了把一次导入的空间设得大一点
      

  10.   

    拿一个adoquery和一个数据库做字串联接,得到的adoquery的connectionstring你看看就应该明白了!