有关数据库的查询语句的。解决思路
有关数据库的查询语句的。。。
这段代码中,为什么查询总是失败!前面数据库的初始化和连接都成功!这段代码在Win32控制台程序可以运行,但是在MFC基于对话框中却不能查询成功????为什么啊、、、、高手详细解答啊。。。
------解决方案--------------------
返回0就表示是成功了.
http://dev.mysql.com/doc/refman/5.1/zh/apis.html#mysql-query
------解决方案--------------------
大哥你搞反了,MYSQL及SQLITE里面一般返回0是表示成功的。。。。
- C/C++ code
void CRegeditServerDlg::ConnectMysql() { char *host = "localhost";//数据库IP char *user = "root";//数据库账号 char *pass = "123456";//数据库密码 char *db = "my_database";//当前数据库 //数据类型声明 MYSQL *sock;//数据库连接指针声明 MYSQL_RES *results;//查询结果集声明 MYSQL_ROW record;//查询结果行声明 sock = mysql_init(0);//初始化指针 if (!sock) { AfxMessageBox(L"数据库初始化失败!"); return; } //connection if (!mysql_real_connect(sock, host, user, pass, db, 0, NULL, 0)) { AfxMessageBox(L"数据库连接失败!"); return; } //mysql_set_character_set(sock,"gb2312");//设置当前字符为gb2312,支持中文 //connection character set //cout << "当前字符集为: " << mysql_character_set_name(sock) << endl; //执行查询 char *my_sql="select * from my_user"; if(!mysql_query(sock,my_sql)) { AfxMessageBox(L"查询失败!"); return; } results=mysql_store_result(sock); int i=0; while(record = mysql_fetch_row(results)) { m_list.InsertItem(i,(LPCTSTR)record[0]); m_list.SetItemText(i,1,(LPCTSTR)record[1]); m_list.SetItemText(i,2,(LPCTSTR)record[2]); i++; } mysql_free_result(results);//释放结果 //关闭连接 mysql_close(sock); }
这段代码中,为什么查询总是失败!前面数据库的初始化和连接都成功!这段代码在Win32控制台程序可以运行,但是在MFC基于对话框中却不能查询成功????为什么啊、、、、高手详细解答啊。。。
------解决方案--------------------
返回0就表示是成功了.
http://dev.mysql.com/doc/refman/5.1/zh/apis.html#mysql-query
------解决方案--------------------
大哥你搞反了,MYSQL及SQLITE里面一般返回0是表示成功的。。。。