Hallo, <p>
ich versuche einen ADO-Stream zu öffnen (um damit BLOB-Felder in einer SQL-DB zu verwalten). Es mag mir jedoch nicht so recht gelingen! Wenn ich nach dem Open-Statement den pStream->State abfrage, bekomme ich immer adStateClosed zurück und demzufolge funktioniert pStream->Read() auch nicht. Was mache ich falsch?<p>
MFG<br>
Joachim
<p>
#include <ADODB_TLB.h><br>
<br>
void __fastcall TFormStream::ButtonOpenClick(TObject *Sender)<br>
{<br>
Adodb_tlb::ConnectModeEnum Mode;<br>
switch (ComboBoxOpenMode->ItemIndex)<br>
{<br>
case 0:<br>
Mode = adModeRead;<br>
break;<br>
case 1:<br>
Mode = adModeReadWrite;<br>
break;<br>
case 2:<br>
Mode = adModeRecursive;<br>
break;<br>
case 3:<br>
Mode = adModeShareDenyNone;<br>
break;<br>
case 4:<br>
Mode = adModeShareDenyRead;<br>
break;<br>
case 5:<br>
Mode = adModeShareDenyWrite;<br>
break;<br>
case 6:<br>
Mode = adModeShareExclusive;<br>
break;<br>
case 7:<br>
Mode = adModeUnknown;<br>
break;<br>
case 8:<br>
Mode = adModeWrite;<br>
break;<br>
default:<br>
Mode = -1;<br>
break;<br>
}<br>
<br>
Adodb_tlb::StreamOpenOptionsEnum Options;<br>
switch (ComboBoxOpenOption->ItemIndex)<br>
{<br>
case 0:<br>
Options = adOpenStreamUnspecified;<br>
break;<br>
case 1:<br>
Options = adOpenStreamAsync;<br>
break;<br>
case 2:<br>
Options = adOpenStreamFromRecord;<br>
break;<br>
default:<br>
Options = -1;<br>
break;<br>
}<br>
<br>
try<br>
{<br>
StreamPtr pStream;<br>
pStream = CreateComObject(CLSID_Stream);<br>
pStream->Open(TVariantInParam(), Mode, Options, L"", L"");<br>
}<br>
catch(...)<br>
{<br>
ShowMessage("open failed");<br>
}<br>
}<br>
<br>
ich versuche einen ADO-Stream zu öffnen (um damit BLOB-Felder in einer SQL-DB zu verwalten). Es mag mir jedoch nicht so recht gelingen! Wenn ich nach dem Open-Statement den pStream->State abfrage, bekomme ich immer adStateClosed zurück und demzufolge funktioniert pStream->Read() auch nicht. Was mache ich falsch?<p>
MFG<br>
Joachim
<p>
#include <ADODB_TLB.h><br>
<br>
void __fastcall TFormStream::ButtonOpenClick(TObject *Sender)<br>
{<br>
Adodb_tlb::ConnectModeEnum Mode;<br>
switch (ComboBoxOpenMode->ItemIndex)<br>
{<br>
case 0:<br>
Mode = adModeRead;<br>
break;<br>
case 1:<br>
Mode = adModeReadWrite;<br>
break;<br>
case 2:<br>
Mode = adModeRecursive;<br>
break;<br>
case 3:<br>
Mode = adModeShareDenyNone;<br>
break;<br>
case 4:<br>
Mode = adModeShareDenyRead;<br>
break;<br>
case 5:<br>
Mode = adModeShareDenyWrite;<br>
break;<br>
case 6:<br>
Mode = adModeShareExclusive;<br>
break;<br>
case 7:<br>
Mode = adModeUnknown;<br>
break;<br>
case 8:<br>
Mode = adModeWrite;<br>
break;<br>
default:<br>
Mode = -1;<br>
break;<br>
}<br>
<br>
Adodb_tlb::StreamOpenOptionsEnum Options;<br>
switch (ComboBoxOpenOption->ItemIndex)<br>
{<br>
case 0:<br>
Options = adOpenStreamUnspecified;<br>
break;<br>
case 1:<br>
Options = adOpenStreamAsync;<br>
break;<br>
case 2:<br>
Options = adOpenStreamFromRecord;<br>
break;<br>
default:<br>
Options = -1;<br>
break;<br>
}<br>
<br>
try<br>
{<br>
StreamPtr pStream;<br>
pStream = CreateComObject(CLSID_Stream);<br>
pStream->Open(TVariantInParam(), Mode, Options, L"", L"");<br>
}<br>
catch(...)<br>
{<br>
ShowMessage("open failed");<br>
}<br>
}<br>
<br>
Comment