大家好~~
我最近做个聊天程序,使用的C API连接的MYSQL数据库。数据库名称为chat.sql,其中包含了一个对话表holophrase,包括3个字段,id,question,answer,例如:id question answer
1 你好! 你也好!
2 吃了吗? 吃了!
3 晚安~ 晚安!
.. ...... ......现在假如要查找question为'晚安'对应的answer,VC代码应该如何写?SQL语句为:
"SELECT question,answer FROM holophrase WHERE question like '%" + user_quest + "%'"其中 string user_quest = "晚安";(由于查找的"晚安"没有带“ ~ ”符号,所以SQL中用了like)
谢谢大家帮忙!
我最近做个聊天程序,使用的C API连接的MYSQL数据库。数据库名称为chat.sql,其中包含了一个对话表holophrase,包括3个字段,id,question,answer,例如:id question answer
1 你好! 你也好!
2 吃了吗? 吃了!
3 晚安~ 晚安!
.. ...... ......现在假如要查找question为'晚安'对应的answer,VC代码应该如何写?SQL语句为:
"SELECT question,answer FROM holophrase WHERE question like '%" + user_quest + "%'"其中 string user_quest = "晚安";(由于查找的"晚安"没有带“ ~ ”符号,所以SQL中用了like)
谢谢大家帮忙!
用mysql_query,mysql_store_result等等。
MYSQL * myData ;
MYSQL_RES * res ;
MYSQL_ROW row ;
if ( (myData = mysql_init((MYSQL*) 0)) &&
mysql_real_connect( myData, NULL, NULL, NULL, NULL, MYSQL_PORT,
NULL, 0 ) )
{
if ( mysql_select_db( myData, "chat.sql" ) < 0 )
return -1;
}
else
{
mysql_close( myData ) ;
return -1 ;
}
CString sql = "SELECT question,answer FROM holophrase WHERE question like '%" + user_quest + "%'";
if ( mysql_query( myData, sql.c_str()))
{
mysql_close( myData ) ;
return -1;
}res = mysql_store_result( myData ) ;
if( row = mysql_fetch_row( res ) )
{
........
}mysql_free_result( res ) ;
mysql_close( myData ) ;
:)
MYSQL_ROW row3;
CString sql = "SELECT question,answer FROM holophrase WHERE question like '%" + test_1 + "%'";
mysql_query(&mysql, sql);
res3 = mysql_store_result(&mysql);
int num_row = mysql_num_rows(res3);
row3 = mysql_fetch_row(res3);如果num_row>1,那么我怎样随机取出一条结果呢?
if ( mysql_query( myData, LPCSTR(sql)))
{
mysql_close( myData ) ;
return -1;
}res = mysql_store_result( myData ) ;
while( row = mysql_fetch_row( res ) ) //多条时用while
{
........
}mysql_free_result( res ) ;
mysql_close( myData ) ;
如果要随机取一条,算出一个小于rownum的随机数,在结果集中取相应的哪一条吧