私はそれを使って作業しているaprox 25 GBのFirbird 1.0データファイルを持っています。テーブルにはドキュメントとドキュメントの写真がBLOBとして保存されています。だから、私はそれが可能なのですが、私はそれが可能だったデザインモードでアクティブに設定しようとしたので、グリッドが空であったので、ランタイムでデータセットをオープンしようとしました=アクティブなプロパティはtrueに設定されていますが、グリッドにフェッチされたデータはありません。大規模なFirebirdデータファイルテーブルをDataSetに読み込む
ご利用いただきありがとうございましたか? BLOBキャッシュオプションを設定する必要がありますか? またはそれはまったくできませんか?
私はラップトップコンピュータ(Win 7 x64 4GB Ram)を使用して開発しており、後でそれを私のサーバーマシンに配備します!
私はそれを修正しました!
だから、別の私の質問は、私はこのようにやっているTImageのコンポーネント
にストリームを使用してロードするBLOBデータについてですが、それはあなたが
を見てもよい ここが私のコードでアクセス違反を飛び出します
DM->stImage->Active=true;
try {
TMemoryStream *ms=new TMemoryStream();
TStream *ps=DM->stImage->CreateBlobStream(DM->stImage->FieldByName("PHOTO") ,bmRead);
ms->Position=0;
ms->CopyFrom(ps,ps->Size);
ms->SaveToFile("c:\\1.jpg");
// imgPass->Picture->LoadFromStream(ms);
imgPass->Picture->Graphic->LoadFromStream(ps);
delete ms;
delete ps;
}
catch (Exception &e) {
ShowMessage(e.ToString());
}
保存することはできますが、imgPass->Picture->Graphic->LoadFromStream(ps);
は機能しません。 何が問題なのでしょうか?
さらに、私は 'CreateBlobStream'を使って写真を動的に取得しますが、1つの選択ですべての行を取得するわけではありません! –
oooooooooooopssss私はそれを固定した)))))))) –
私はハードディスクに保存して読み込みたくない!ストリームにロードしてイメージにコピーしたい –