1,ADO连接数据库
一般不用ODBC连接数据库,太古老了,主流用ADO连接数据库。
连接步骤:
1需要先安装SQL SEVER2008。
启动运行服务器SQL SEVER(MSSQLSERVER)启动。
登录SQL SEVER
建表字段:
上面这些都是在SQL SEVER上的操作。
下面这些都是在VC6.0中的操作。
1 在stdafx.h头文件中插入。
#import "c:/program files/common files/system/ado/msado15.dll" no_namespace rename ("EOF", "adoEOF")
2.在dlg.h下面添加如下变量。
_ConnectionPtr m_pConnection; //注意:是个指针变量
_ConnectionPtr m_DataList;
_RecordsetPtr m_pRecordset;
3然后再初始化函数中添加,连接数据库代码。
HRESULT hr;
CoInitialize(NULL);
CString strSQL;
//HRESULT hr;
try
{
hr=m_pConnection.CreateInstance(__uuidof(Connection));
m_pConnection->CursorLocation=adUseClient;
strSQL="Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=biao;Data Source=4ILR3CQDRIFF213";
if(SUCCEEDED(hr))
{
hr=m_pConnection->Open(_bstr_t(strSQL),"","",-1);
AfxMessageBox("连接数据库成功");///显示错误信息
}
}
catch(_com_error e)///捕捉异常
{
CString errormessage;
errormessage.Format("连接数据库失败!\r\n错误信息:%s",e.ErrorMessage());
AfxMessageBox(errormessage);///显示错误信息
// return FALSE;
}
4然后在插入按钮下添加如下代码:
UpdateData(TRUE);
if(m_name.IsEmpty())
{
MessageBox("基础信息不能为空!");
return;
}
CString sql="select * from data";
CString str;
// str.Format("%d",m_name);
str.Format("%d",m_age);
// m_pRecordset->Open(_bstr_t(sql),m_pConnection.GetInterfacePtr(),
// adOpenDynamic,adLockOptimistic,adCmdText); //执行SQL得到记录集
sql = ("insert into data(ID, DATA) values('"+m_name+"',"+m_age+")") ; //添加变量到数据库,,,重点。
try
{
m_pConnection->Execute((_bstr_t)sql,NULL, adCmdText);
}
catch(_com_error e)
{
//CString errormessage;
// errormessage.Format("失败!\r\n错误信息:%s",e.ErrorMessage());
AfxMessageBox("");///显示错误信息
}
catch(...)
{
MessageBox("操作失败!");
return;
}
MessageBox("添加成功!");