void CDishSearch::OnSearch()
{
extern CDatabase m_database;
extern CShowDish * DishShowDlg;
CDishSet m_dish;
m_dish.m_pDatabase=&m_database;
CString sql;
UpdateData(TRUE);
sql.Format("select * from 日志表");
if (m_namectrl.GetCheck())
{
if (m_name==_T(""))
{
MessageBox("請輸入菜品名字");
return;
}
sql=sql+"where 套餐名 ='"+m_name+"'";
}
else
{
sql=sql+"where 用戶ID ='"+username+"'";
}
m_dish.Open(AFX_DB_USE_DEFAULT_TYPE,sql);
DishShowDlg->ShowWindow(SW_SHOW);
//DishShowDlg->OnRefreshData();
ShowWindow(SW_HIDE);
}
為什么這sql中的陳述句會有問題,剛自學MFC的小白急求幫助,課設快要到上交日期了
uj5u.com熱心網友回復:
列印sql出來看看語法格式問題uj5u.com熱心網友回復:
sql=sql+"where 套餐名 ='"+m_name+"'";如果你說的是這里報語法錯的話.
那估計你的sql或者m_name不是CString型別.
這里只好使用Format來格式化, 不使用+
如果是sql 查詢的時候, 資料庫報語法錯誤, 那么基本上就是 那個串文字串有問題, 資料庫基本上不會用中文做欄位名的
uj5u.com熱心網友回復:
sql.Format("select * from 日志表");改為
sql.Format("select * from 日志表 ");
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/119410.html
標籤:數據庫
