ODBC数据库实现查询功能,该如何解决
ODBC数据库实现查询功能
下边是我MFC工程的代码,我可以实现insert,但是select不知道结果怎么用,求大神给个参考代码。
void CTestDlg::mysqlcont()
{
CDatabase db; //创建CDatabase类
db.Open(NULL,FALSE,FALSE,_T("ODBC;DSN=lizhonghe;UID=root;PWD=x5"),FALSE); //建立连接,Open打开数据库
CString sql;
CString sqll;
sql.Format("select * from test");
sql.Format("insert into test(a,b,c,d,e) values('ds','df','ghg','hh','sd');");
db.ExecuteSQL(sqll);
db.ExecuteSQL(sql); //执行SQL语句
CRecordset rs(&db); //创建接收数据集CRecordset类
db.Close(); //关闭数据库
}
------解决思路----------------------
给个例程供参考
其中 DB_STABLE_NAME4 定义为数据库名的字符串
------解决思路----------------------
void C***::GetSqlData(CString strOrder)//执行的select语句
{
CDatabase db;
db.Open(NULL,FALSE,FALSE,"ODBC;DSN=;UID=;PWD=");//连接字符串
CRecordset rs( &db );
rs.Open( CRecordset::forwardOnly, ("%s", strOrder));
while(!rs.IsEOF())
{
CString dta;
rs.GetFieldValue("hdl", dta); //hdl代表你想取出数据的列名 存放到dta里面
AfxMessageBox(dta);
rs.MoveNext();
}
rs.Close();
db.Close();
下边是我MFC工程的代码,我可以实现insert,但是select不知道结果怎么用,求大神给个参考代码。
void CTestDlg::mysqlcont()
{
CDatabase db; //创建CDatabase类
db.Open(NULL,FALSE,FALSE,_T("ODBC;DSN=lizhonghe;UID=root;PWD=x5"),FALSE); //建立连接,Open打开数据库
CString sql;
CString sqll;
sql.Format("select * from test");
sql.Format("insert into test(a,b,c,d,e) values('ds','df','ghg','hh','sd');");
db.ExecuteSQL(sqll);
db.ExecuteSQL(sql); //执行SQL语句
CRecordset rs(&db); //创建接收数据集CRecordset类
db.Close(); //关闭数据库
}
------解决思路----------------------
给个例程供参考
// 加入常用号码
void AppFreqUsed(CString code,CString note);
// 加入常用号码
void CMyDBManage::AppFreqUsed(CString code,CString note)
{
CString sql=_T("INSERT INTO `") DB_STABLE_NAME4 _T("` ");
sql+=_T("(`dhhm` ,`hmsm`) VALUES ('");
sql+=code+L"','"+note+L"');";
if(!m_dbCust.IsOpen())
ConnectODBC(); // 打开数据库
m_dbCust.ExecuteSQL(sql); // 直接操作SQL语句
}
其中 DB_STABLE_NAME4 定义为数据库名的字符串
------解决思路----------------------
void C***::GetSqlData(CString strOrder)//执行的select语句
{
CDatabase db;
db.Open(NULL,FALSE,FALSE,"ODBC;DSN=;UID=;PWD=");//连接字符串
CRecordset rs( &db );
rs.Open( CRecordset::forwardOnly, ("%s", strOrder));
while(!rs.IsEOF())
{
CString dta;
rs.GetFieldValue("hdl", dta); //hdl代表你想取出数据的列名 存放到dta里面
AfxMessageBox(dta);
rs.MoveNext();
}
rs.Close();
db.Close();