line如何在中国使用Console Application中使用ADO

博客分类:
// GetUser.cpp : Defines the entry point for the console application.
#include "stdafx.h"
#include &windows.h&
#include &atlstr.h&
#include &iostream&
#import "C:\Program Files\Common Files\SYSTEM\ADO\msado15.dll" no_namespace rename("EOF","adoEOF")
DWORD WINAPI GetUserInfo();
int main()
::CoInitialize(NULL);
_ConnectionPtr pConn = NULL;
//sode是数据库服务器192.168.3.9上的一个数据库
CString strConn = "Provider=SQLOLEDB.1;Data Source=192.168.3.9,1433;Initial Catalog=sode";
if (S_OK != pConn.CreateInstance("ADODB.Connection"))
cout && "create instance failed..." &&
return -1;
HRESULT hr = pConn-&Open((_bstr_t)strConn, "sa", "sa",adConnectUnspecified);
if (FAILED(hr))
cout && "connect failed!" &&
catch(_com_error e)
cout && "connect exception..." &&
return FALSE;
cout && "connect succ!" &&
DWORD WINAPI GetUserInfo()
浏览: 1403656 次
来自: 北京
这个规范里还是没有让我明白当浏览器上传文件时,STDIN的消息 ...
好文章!学习了,谢谢分享!
有错误os.walk(strPath)返回的已经是全部的文件和 ...
feifeigd 写道注意:文章中的CPP示例第二行 #inc ...
注意:文章中的CPP示例第二行 #include & ...2005年5月 VC/MFC大版内专家分月排行榜第一
2005年6月 VC/MFC大版内专家分月排行榜第二
本帖子已过去太久远了,不再提供回复功能。在VC中如何使用ADO操作数据库!
来源:网络转载
责任编辑:李利平
默认中大特大
宋体黑体雅黑楷体
&&为了解决用户可能碰到关于"在VC中如何使用ADO操作数据库!"相关的问题,突袭网经过收集整理为用户提供相关的解决办法,请注意,解决办法仅供参考,不代表本网同意其意见,如有任何问题请与本网联系。"在VC中如何使用ADO操作数据库!"相关的详细问题如下:
不要使用ADO控件。如果有源代码,请提供下在路径。谢谢
===========突袭网收集的解决方案如下===========用户提供的回答1:
在vchelp里有ado的类可以下,封装的很好,我用过!
用户提供的回答2:
//&testado.cpp&:&Defines&the&entry&point&for&the&console&application.
#include&"stdafx.h"
#include&"afxdb.h"
#include&"stdio.h"
#include&"windows.h"
#define&_WIN32_DCOM
#import&"msado15.dll"&no_namespace&rename("EOF",&"EndOfFile")&
int&main(int&argc,&char*&argv[])
int&nRow=0;
char&name[30];
CoInitialize(NULL);
_ConnectionPtr&pC
FieldsPtr&&&&&&pFieldsP
FieldPtr&&&&&&&pFieldP
_RecordsetPtr&pUserS
char&*szOpen="Provider=Microsoft.Jet.OLEDB.3.51;Persist&Security&Info=FData&Source=D:\\home\\testado\\test.mdb";
// char&*&szOpen="Provider=MSDASQL.1;Persist&Security&Info=FData&Source=AddressBook";
pConnection.CreateInstance(__uuidof(Connection));
pConnection-&Open(szOpen,"","",-1);
catch(...)
printf("数据库初始化错误,程序将关闭!\n");
return&FALSE;
variant_t&
// pConnection-&Execute("insert&into&test_tab&values(')"/*"select&*&from&test_tab"*/,&var,adCmdText);
&&&&&//&&&pConnection-&Execute("commit"/*"select&*&from&test_tab"*/,&var,adCmdText);
catch(_com_error&*e)
printf(e-&ErrorMessage());
pUserSet.CreateInstance(__uuidof(Recordset));
pUserSet-&Open("userinfo",
pConnection.GetInterfacePtr(),
adOpenDynamic,
adLockOptimistic,
adCmdTable);
while&(!pUserSet-&EndOfFile)
pFieldsPtr&=&pUserSet-&F
pFieldPtr&&&=&pFieldsPtr-&Item["name"];
&& if(&pFieldPtr-&Value.vt==VT_NULL&)&
strcpy(name,"");
strcpy(name,_bstr_t(pFieldPtr-&Value));
printf("row%d's&test_id&is&%s\n",nRow,name);
&& pUserSet-&MoveNext();
catch(...)
printf("error");
pUserSet-&AddNew();
catch(_com_error&*&e)
printf(e-&ErrorMessage());
&&&& /* pFieldsPtr&=&pUserSet-&F
pUserSet-&AddNew();
pFieldPtr&&&=&pFieldsPtr-&Item["test_id"];
char&*str&=&"88888";
pFieldPtr-&Value&=&(_variant_t)
&&&&&&&&&&&&
&&&&pFieldPtr&&&=&pFieldsPtr-&Item["test_name"];
str&=&"88888";
/* pFieldPtr-&Value&=&(_variant_t)
pFieldPtr&&&=&pFieldsPtr-&Item["Address"];
str&=&"88888";
pFieldPtr-&Value&=&(_variant_t)
pFieldPtr&&&=&pFieldsPtr-&Item["emailAddress"];
str&=&"88888";
pFieldPtr-&Value&=&(_variant_t)
pFieldPtr&&&=&pFieldsPtr-&Item["mobilephone"];
str&=&"88888";
pFieldPtr-&Value&=&(_variant_t)
pFieldPtr&&&=&pFieldsPtr-&Item["homephone"];
str&=&"88888";
pFieldPtr-&Value&=&(_variant_t)
pFieldPtr&&&=&pFieldsPtr-&Item["Notes"];
str&=&"88888";
pFieldPtr-&Value&=&(_variant_t)*/
pUserSet-&Update();
pUserSet-&MoveFirst();
&&&&&&&&pUserSet-&Delete(adAffectCurrent);
&&&&pUserSet-&Update();
pUserSet-&Close();
&/* catch(...)
//printf(e-&ErrorMessage());
printf("fdgdg");
// pUserSet-&Close();
/* catch(_com_error&*e)
printf(e-&ErrorMessage());
/* catch(...)
printf("error");
CoUninitialize();
&&&&return&0;
用户提供的回答3:
const&IID&IID_IADOCommand15={0xx0,{0x80,0x00,0x00,0xaa,0x00,0x6d,0x2e,0xa4}};
STDMETHODIMP&CTAdo::GetRecordset(_Recordset&**ppRecordset)
//&TODO:&Add&your&implementation&code&here
&&&&char&*szOpen=_T("Provider=Microsoft.Jet.OLEDB.3.51;Persist&Security&Info=-1;Data&Source=E:\\com+\\record\\user.mdb");
&&&&HRESULT&hr=CoCreateInstance(CLSID_CADOConnection,NULL,CLSCTX_INPROC_SERVER,IID_IADOConnection15,(LPVOID*)&m_pConnection);
if(FAILED(hr))
m_pConnection-&Open(bstr_t(szOpen),bstr_t(""),bstr_t(""),-1);
hr=CoCreateInstance(CLSID_CADORecordset,NULL,CLSCTX_INPROC_SERVER,IID_IADORecordset15,(LPVOID&*)ppRecordset);
// (*ppRecordset)-&Open(CComVariant("select&*&from&user"),CComVariant(m_pConnection),adOpenDynamic,adLockOptimistic,adCmdText);
if(FAILED(hr))
return&S_OK;
void&CTAdo::FinalRelease()
if(m_pConnection)
m_pConnection-&Close();
STDMETHODIMP&CTAdo::GetConnection(_Connection&**ppConnection)
//&TODO:&Add&your&implementation&code&here
&&&&char&*szOpen=_T("Provider=Microsoft.Jet.OLEDB.3.51;Persist&Security&Info=-1;Data&Source=E:\\com+\\record\\user.mdb");
&&&&HRESULT&hr=CoCreateInstance(CLSID_CADOConnection,NULL,CLSCTX_INPROC_SERVER,IID_IADOConnection15,(LPVOID*)ppConnection);
if(FAILED(hr))
(*ppConnection)-&Open(bstr_t(szOpen),bstr_t(""),bstr_t(""),-1);
return&S_OK;
STDMETHODIMP&CTAdo::GetCommand(_Command&**ppCommand)
//&TODO:&Add&your&implementation&code&here
&&&&HRESULT&hr=CoCreateInstance(CLSID_CADOCommand,NULL,CLSCTX_INPROC_SERVER,IID_IADOCommand15,(LPVOID*)ppCommand);
if(FAILED(hr))
return&S_OK;
声明:突袭网提供的解决方案均由系统收集自互联网,仅供参考,突袭网不保证其准确性,亦不代表突袭网观点,请自行判断真伪,突袭网不承担任何法律责任. >>> 温馨提示:您还可以点击下面分页查看更多相关内容 <<<
24小时热评
热点排行榜

参考资料

 

随机推荐