HRESULT hr;
IDBInitialize *pIDBInitialize;
IDBCreateSession *pIDBCreateSession;
IDBCreateCommand *pIDBCreateCommand;
ICommandText *pICommandText;
IDBProperties *pIDBProperties;
IUnknown *pIUnknown;
DBPROP dbprop[1];
DBPROPSET dbpropset[1];
hr = ::CoInitializeEx(NULL,COINIT_MULTITHREADED);
if (FAILED(hr))
{
return TRUE;
}
hr = CoCreateInstance(CLSID_SQLSERVERCE_2_0, 0, CLSCTX_INPROC_SERVER,
IID_IDBInitialize, (void**)&pIDBInitialize);
if (FAILED(hr))
{
return TRUE;
}
dbprop[0].dwPropertyID = DBPROP_INIT_DATASOURCE;
dbprop[0].dwOptions = DBPROPOPTIONS_REQUIRED;
dbprop[0].vValue.vt = VT_BSTR;
dbprop[0].vValue.bstrVal = SysAllocString(L"//Storage Card//Inspect.sdf"); if (dbprop[0].vValue.bstrVal == NULL)
{
return TRUE;
}
dbpropset[0].guidPropertySet = DBPROPSET_DBINIT;
dbpropset[0].cProperties = sizeof(dbprop) / sizeof(dbprop[0]);
dbpropset[0].rgProperties = dbprop;
hr = pIDBInitialize->QueryInterface(IID_IDBProperties,(void**)&pIDBProperties);
if (FAILED(hr))
{
return TRUE;
}
hr = pIDBProperties->SetProperties(sizeof(dbpropset)/sizeof(dbpropset[0]),dbpropset);
if (FAILED(hr))
{
return TRUE;
}
hr = pIDBInitialize->Initialize();
if (FAILED(hr))
{
return TRUE;
}
hr = pIDBProperties->QueryInterface(IID_IDBCreateSession,(void**)&pIDBCreateSession);
if (FAILED(hr))
{
return TRUE;
}
hr = pIDBCreateSession->CreateSession(NULL,IID_IUnknown,&pIUnknown); //Need uuid.lib
if (FAILED(hr))
{
return TRUE;
}
hr = pIUnknown->QueryInterface(IID_IDBCreateCommand,(void**)&pIDBCreateCommand);
if (FAILED(hr))
{
return TRUE;
}
hr = pIDBCreateCommand->CreateCommand(NULL,IID_ICommandText,(IUnknown **)&pICommandText);
if (FAILED(hr))
{
return TRUE;
}
hr = pICommandText->SetCommandText(DBGUID_SQL,L"INSERT INTO t_InspectTask(f_TaskID,f_Year,f_Month,f_TaskSequence,f_TaskName,f_TaskCategory,f_TaskDate) VALUES(2,2006,12,1,'WTTL2',1,'2007-12-31')");
if (FAILED(hr))
{
return TRUE;
}
hr = pICommandText->Execute(NULL,IID_NULL,NULL,NULL,NULL);
if (FAILED(hr))
{
return TRUE;
}