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 这个文件放行之后,连接成功。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)