//进行简单的查询和插入。Password改成自己的密码 和Data Source要改成自己的主机名或者IP
_ConnectionPtr m_pConnection;//连接对象指针
_RecordsetPtr m_pRecordset;//记录集对象指针
//初始化COM环境
CoInitialize(NULL);
try
{
m_pConnection.CreateInstance(__uuidof(Connection));//创建连接对象实例
//连接字符串
m_pConnection-> CursorLocation = adUseClient;
_bstr_t strConnect="Provider=SQLOLEDB.1;Password=lcalqf;Persist Security Info=True;User ID=sa;Initial Catalog=Test;Data Source=2012-20140715VJ";//也可复制你数据库连接时的服务器名
//
m_pConnection-> CursorLocation = adUseClient;
m_pConnection->Open(strConnect,"","",adModeUnknown);
}
// 捕获错误
catch(_com_error e)
{
//可以直接输出消息提示出错,我们这里要把出错的消息输出
CString strComError;
//注%08lx表示用8位数字表达一个十六进制指针地址,格式为0X1234ABCD,如果长度不足8位用前导0表示。L表示整行x表示16进制(小写),X表示16进制(大写)
strComError.Format("错误编号:%08lx\n错误信息:%s\n错误源:%s\n错误描述:%s",e.Error(),//错误编号
e.ErrorMessage(),//错误信息
(LPCTSTR)e.Source(),//错误源
(LPCSTR)e.Description());//错误描述
MessageBox(NULL,strComError,"错误",MB_OK);
}
m_pRecordset.CreateInstance(__uuidof(Recordset));
///
m_pRecordset=m_pConnection->Execute("SELECT *FROM 仓库",NULL,adCmdText);
while(!m_pRecordset->adoEOF)
{
_variant_t value;
_variant_t vIndex=(long)2;//读取第二例
value=m_pRecordset->GetCollect(vIndex);//读取第一个字段的值放在value
CString str=(LPCSTR)(_bstr_t)value;
char *pInfo=new char[50];
memset(pInfo,0,50);
strcpy(pInfo, (LPCSTR)_bstr_t(value));
m_pRecordset->MoveNext();
}
try
{
m_pRecordset=m_pConnection->Execute("Insert INTO 仓库 (仓库编号,仓库号,城市,面积) VALUES('4','004','济南','1400')",NULL,adCmdText);
}
// 捕获错误
catch(_com_error e)
{
//可以直接输出消息提示出错,我们这里要把出错的消息输出
CString strComError;
//注%08lx表示用8位数字表达一个十六进制指针地址,格式为0X1234ABCD,如果长度不足8位用前导0表示。L表示整行x表示16进制(小写),X表示16进制(大写)
strComError.Format("错误编号:%08lx\n错误信息:%s\n错误源:%s\n错误描述:%s",e.Error(),//错误编号
e.ErrorMessage(),//错误信息
(LPCTSTR)e.Source(),//错误源
(LPCSTR)e.Description());//错误描述
MessageBox(NULL,strComError,"错误",MB_OK);
}
m_pConnection->Close();
CoUninitialize();//释放COM库
1万+

被折叠的 条评论
为什么被折叠?



