C++ ADO连接数据库~~~急急急!!!
来源:百度知道 编辑:UC知道 时间:2024/09/12 21:28:01
BOOL ADOConn::ExecuteSQL(_bstr_t bstrSQL)
{
// variant_t RecordsetAffected;
try
{
//是否已经连接数据库
if(m_pConnection==NULL)
OnInitADOConn();
m_pConnection->Execute(bstrSQL,NULL,adCmdText);
return true;
}
catch(_com_error e)
{
AfxMessageBox(e.Description());
return false;
}
}
void CEmployees::sql_insert()
{
//连接数据库
ADOConn m_AdoConn;
m_AdoConn.OnInitADOConn();
//设置INSERT语句
CString strWage;
strWage.Format("%f",Wage);
_bstr_t vSQL;
vSQL="INSERT INTO Employees(Emp_name,Sex,Title,Wage,Dep_id)VALUES('"+Emp_name+"','"+Sex+"','"+Title+"',"+strWage+",1)";
//执行INSERT语句
m_AdoConn.ExecuteSQL(vSQL);
//断开与数据库的链接
m_AdoConn.ExitConnect();
}
看看有什么问题么,为什么连不上,数据不能插入进去~~
void ADOConn::OnInitADOConn()
{
// variant_t RecordsetAffected;
try
{
//是否已经连接数据库
if(m_pConnection==NULL)
OnInitADOConn();
m_pConnection->Execute(bstrSQL,NULL,adCmdText);
return true;
}
catch(_com_error e)
{
AfxMessageBox(e.Description());
return false;
}
}
void CEmployees::sql_insert()
{
//连接数据库
ADOConn m_AdoConn;
m_AdoConn.OnInitADOConn();
//设置INSERT语句
CString strWage;
strWage.Format("%f",Wage);
_bstr_t vSQL;
vSQL="INSERT INTO Employees(Emp_name,Sex,Title,Wage,Dep_id)VALUES('"+Emp_name+"','"+Sex+"','"+Title+"',"+strWage+",1)";
//执行INSERT语句
m_AdoConn.ExecuteSQL(vSQL);
//断开与数据库的链接
m_AdoConn.ExitConnect();
}
看看有什么问题么,为什么连不上,数据不能插入进去~~
void ADOConn::OnInitADOConn()
server 最好写IP 用户名一般不用sa
最主要的问题是连接的地方写错了
ADODB.Recordset 这个是记录集合
ADODB.Connection 这个才是连接器
m_pConnection.CreateInstance("ADODB.Connection");
ADODB.Parameter 这个执行大的时候才使用如存储过程.
不懂可以M我
没有执行廉洁数据库的操作。
建议使用CDatabase类和CRecordset类。