假如DoADO.cpp
——-------------#import "c:\program files\common files\system\ado\msado15.dll" no_namespace rename("EOF","adoEOF")..............void SQLPanel::OnBtnExesql()
{
// TODO: Add your control notification handler code here AfxOleInit();
extern CString m_strSQL;
char * SQL= (LPSTR)(LPCTSTR)m_strSQL;
HRESULT hr;
CString strSQL;
if(m_EdtSql==""){
AfxMessageBox("请填写SQL语句!");
return;
} try {
hr = m_pConnection.CreateInstance("ADODB.Connection");///创建Connection对象
hr = m_pConnection->Open(SQL,"","",adModeUnknown);
}
catch(_com_error e)///捕捉异常
{
CString errormessage;
errormessage.Format("连接数据库失败!\r\n错误信息:%s",e.ErrorMessage());
}
SQL= (LPSTR)(LPCTSTR)m_EdtSql;
m_RecSQL = m_EdtSql;
CString Key; //关键字:select;update;insert;delete
Key = m_EdtSql.Left(6); //获取关键字
m_pRecord.CreateInstance("ADODB.Recordset");
Key.MakeLower();
int mSqlLen = m_EdtSql.GetLength();
int i=0,Flag=0;
if(Key == "select"){
try{
hr = m_pRecord->Open(SQL,_variant_t((IDispatch *)m_pConnection,true),adOpenStatic,adLockOptimistic,adCmdText);
}
catch(_com_error e)///捕捉异常
{
AfxMessageBox("SQL操作异常,请检查SQL语句");
return;
}
——-------------#import "c:\program files\common files\system\ado\msado15.dll" no_namespace rename("EOF","adoEOF")..............void SQLPanel::OnBtnExesql()
{
// TODO: Add your control notification handler code here AfxOleInit();
extern CString m_strSQL;
char * SQL= (LPSTR)(LPCTSTR)m_strSQL;
HRESULT hr;
CString strSQL;
if(m_EdtSql==""){
AfxMessageBox("请填写SQL语句!");
return;
} try {
hr = m_pConnection.CreateInstance("ADODB.Connection");///创建Connection对象
hr = m_pConnection->Open(SQL,"","",adModeUnknown);
}
catch(_com_error e)///捕捉异常
{
CString errormessage;
errormessage.Format("连接数据库失败!\r\n错误信息:%s",e.ErrorMessage());
}
SQL= (LPSTR)(LPCTSTR)m_EdtSql;
m_RecSQL = m_EdtSql;
CString Key; //关键字:select;update;insert;delete
Key = m_EdtSql.Left(6); //获取关键字
m_pRecord.CreateInstance("ADODB.Recordset");
Key.MakeLower();
int mSqlLen = m_EdtSql.GetLength();
int i=0,Flag=0;
if(Key == "select"){
try{
hr = m_pRecord->Open(SQL,_variant_t((IDispatch *)m_pConnection,true),adOpenStatic,adLockOptimistic,adCmdText);
}
catch(_com_error e)///捕捉异常
{
AfxMessageBox("SQL操作异常,请检查SQL语句");
return;
}
stdafx.h都没有,你这程序活得下去吗?
调用AfxOleInit()这个函数也出错,请问调用此函数需要加什么头文件吗?
控制台完全可以
就和上面说的,只要#import "c:\program files\common files\system\ado\msado15.dll" no_namespace rename("EOF","adoEOF")就可以了_ConnectionPtr m_pConn;
m_strConnect = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=数据库路径";(access数据库)
CoInitialize(NULL);
//连接数据库
m_pConn.CreateInstance("ADODB.Connection");
try{
m_pConn->Open((_bstr_t)m_strConnect,"","",adConnectUnspecified);
}catch(_com_error e){
MessageBox("连接数据库失败!");
}
用完数据库后,记得CoUninitialize();
::CoInitialize(NULL); //定义变量
_ConnectionPtr m_pConnection;
//实例化
m_pConnection.CreateInstance("ADODB.Connection"); //建立和数据库的连接,Server后面填服务器IP,DATABASE填你的数据库实例
//UID是你的数据库访问帐号,PWD是密码
m_pConnection->Open("Provider=sqloledb;Server=x.x.x.x;DATABASE=;UID=;PWD=","","",adModeRead); m_pConnection->Close();//关闭连接 ::CoUninitialize();