ubuntu 下 用C测试 MYSQL出错 信息如下:

ubuntu 下 用C测试 MYSQL出错 信息如下:,第1张

if(mysql_query(conn,"show tables")){ //改

res=mysql_use_result(conn)改一下res=mysql_store_result(conn)

--------------------------------------------------------------------

#include<stdio.h>

#include<stdlib.h>

#include<mysql/mysql.h>

int main(void)

{

MYSQL *conn

MYSQL_RES *res

MYSQL_ROW row

char *server="localhost"

char *user="root"

char *password="123456"

char *database="ctest"

conn=mysql_init(NULL)//3

/*connect to database*/

if(!mysql_real_connect(conn,server,user,password,

database,0,NULL,0)){

fprintf(stderr,"%s\n",mysql_error(conn))

exit(1)

}

/*send sql query*/

if(mysql_query(conn,"show tables")){

fprintf(stderr,"%s\n",mysql_error(conn))

exit(1)

}

res=mysql_store_result(conn)

/*output table name*/

printf("MySQL Tables in mysql databse:\n")

while((row=mysql_fetch_row(res))!=NULL)

printf("%s\n",row[0])

/*close connection*/

mysql_free_result(res)

mysql_close(conn)

return 0

}

百度知道

vfp数据库的主键怎么连接

吴老师3X0

超过20用户采纳过TA的回答

关注

成为第1位粉丝

首先在自己机子上架设 MySQL 数据库,就不多说了,我是直接用 XAMPP 架设的服务器。

然后在 VFP 里输入命令:

sqlhandle = SQLSTRINGCONNECT("driver={MySQL ODBC 5.1 Driver}server=127.0.0.1port=3306uid=testpwd=testcharset=utf8database=test")

MESSAGEBOX(sqlhandle)

IF sqlhandle>0

SQLEXEC(sqlhandle,'select * from test','ctest')

BROWSE

SQLDISCONNECT(sqlhandle)

ENDIF

运行发现无效,很快发现是 MySQL Connector/ODBC 的问题,但无论怎么弄,问题依旧,最后发现是系统的问题。貌似64位 Windows7 必须要同时安装32和64位两个版本?罢了,不追究了。

装过64位 MySQL Connector/ODBC 后,终于连接上了,但是表打开遇到汉字都是乱码,怀疑是字符集的问题,于是将 charset 的值改为 gb2312,乱码清除,正常显示。但是我数据库里依然是 utf8 的编码,以后会不会出问题就以后再说吧。经过测试 GBK 也是可以的,因为我没有用到什么生僻字,就 gb2312 就好。

此时我将服务器改为我的 ip 地址,经过漫长的等待,最终失败,显示错误 10060,网络连接不通。用防火墙把 VFP 放行,依旧不成功。想到应该把 MySQL 也放行,就是 xamppmysqlbinmysqld.exe 这个文件放行之后,连接成功。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7345318.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-04
下一篇 2023-04-04

发表评论

登录后才能评论

评论列表(0条)

保存