我在写入图像时,开发工具是C++ Builder,用的是ADO,图像不超过20k,经常出现ora-12571错误!这是怎么回事呢?请大家指点一下,谢谢

解决方案 »

  1.   

    // 添加图片路径到数据库
     if( FileExists(strFileName) )
     {
       int age = FileAge(strFileName);
       AnsiString strSql = "select * from TmcDev where DevID=";
       strSql = strSql + "'"+strFileName.SubString(strFileName.Length()-13,10)+"'";   ModifyADOQuery->Close();
       ModifyADOQuery->SQL->Clear();
       ModifyADOQuery->SQL->Add( strSql );
       ModifyADOQuery->Open();
       ModifyADOQuery->Edit();   TBlobField *pField = (TBlobField *)ModifyADOQuery->FieldByName("Image");
       TADOBlobStream *pMem = new TADOBlobStream(pField, bmWrite);
       pMem->Seek(0, soFromBeginning);
       TFileStream *fStream=new TFileStream(strFileName,fmOpenRead);
       fStream->Seek(0, soFromBeginning);
       pMem->CopyFrom(fStream,fStream->Size);
       delete fStream;  fStream = NULL;
       delete pMem;     pMem = NULL;   ModifyADOQuery->FieldByName("ImageRcvDt")->AsString = FileDateToDateTime(age).DateTimeString();   ModifyADOQuery->Post();
       ModifyADOQuery->Close();
    }