Ado访问PARADOX数据库
各位老大,在下有个棘手的问题,请教你们:
Ado访问PARADOX数据库,我进行插入操作时,程序总是报错:[Microsoft][ODBC Paradox Driver] 在无主关键字的 Paradox 表中不支持此操作。其实这个错误并不难,我把数据库表设置一个主关键字,就正常了。
问题也正是在此:它非要我设主关键字,而实际情况有时我们并不要设主关键字!!!!我们在访问其他数据库如:Sql Server,Access,Foxpro。。。等都没有此限制啊!!!
各位,帮帮我,感激不尽!
HRESULT hr;
CString sql;
CString m_ConnectionString;m_ConnectionString=L"CollatingSequence=ASCII;DBQ=E:\\train\\MyXML\\db;" \
L"DefaultDir=E:\\train\\MyXML\\db;Driver={Microsoft Paradox Driver (*.db )};" \
L"DriverId=538;FIL=Paradox 5.X;" \
L"MaxBufferSize=2048;MaxScanRows=8;PageTimeout=600;" ;
_ConnectionPtr adoConn;
_RecordsetPtr adoRs;
_variant_t v;
try
{
hr = adoConn.CreateInstance(__uuidof(Connection));
hr = adoRs.CreateInstance(__uuidof(Recordset));
hr=adoConn->put_ConnectionTimeout(30);
hr = adoConn->Open((LPCTSTR)m_ConnectionString, L"", L"", dCmdUnspecified);
sql= L"Select * from Draw0.db";
hr = adoRs->Open((LPCTSTR)sql, (IDispatch *)adoConn, adOpenStatic, adLockPessimistic,adCmdText);
sql="insert into draw0 ";
sql+="(type,len) ";
sql+="values(1000000,2)";
hr=adoConn->Execute((LPCTSTR)sql,NULL,-1);
adoRs->Close();
adoConn->Close();
adoRs.Release();
adoConn.Release();
}
catch(_com_error e)
{
AfxMessageBox(e.Description());
}