各位老大,在下有个棘手的问题,请教你们:
   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());
}