我目前正在研究一个从mysql数据库输出数据的小型MFC程序。 当我使用不包含任何变量的sql语句时,我可以获得输出,例如。
select album from Artists;
但是当我尝试使用变量时,程序会编译,但我没有输出,例如。 mysql_perform_query(conn,从艺术家中选择专辑,其中artists ='“+ m_search_edit”'“)
这是mysql_perform_query的函数:
MYSQL_RES* mysql_perform_query(MYSQL *conn, const char* query)
{
// send the query to the database
if (mysql_query(conn, query))
{
// printf("MySQL query error : %s\n", mysql_error(conn));
// exit(1);
}
return mysql_use_result(conn);
}
这是输出数据的代码块:
struct connection_details mysqlD;
mysqlD.server = "www.freesqldatabase.com"; // where the mysql database is
mysqlD.user = "**********"; // the root user of mysql
mysqlD.password = "***********"; // the password of the root user in mysql
mysqlD.database = "***************"; // the databse to pick
// connect to the mysql database
conn = mysql_connection_setup(mysqlD);
CStringA query;
query.Format("select album from Artists where artist = '%s'", CT2CA(m_search_edit));
res = mysql_perform_query(conn, query);
//res = mysql_perform_query (conn, "select distinct artist from Artists");
while((row = mysql_fetch_row(res)) != NULL){
CString str;
UpdateData();
str = ("%s\n", row[0]);
UpdateData(FALSE);
m_list_control.AddString(str);
}
m_search_edit变量是编辑框的变量。 我正在使用Visual Studio 2008与此程序unicode和一个nonunicode的一个副本, 我也有一个用VC ++ 6构建的版本。 关于如何使用m_search_edit变量从数据库获取输出的任何提示??