LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1134|回复: 2

关于数据库(MYSQL)

[复制链接]
发表于 2003-6-2 14:28:29 | 显示全部楼层 |阅读模式
在Qt环境下编程,如何连接一个数据库(MYSQL)(代码方式的和图形方式的)。我试了随机的说明文档,都不行。我用的是RH8。0,Qt是随系统一起安装的新版本。谢谢.
发表于 2003-6-2 15:13:05 | 显示全部楼层
这和QT没什么关系吧,看看MySQL的API文档。
发表于 2003-6-2 20:15:09 | 显示全部楼层


  1. #include <mysql.h>
  2. #include <stdio.h>

  3. /******连接到Mysql数据库上******/
  4. MYSQL *Connect_Mysql(char *hostname, char *username, char *passwd, char *dbname, \
  5.         unsigned portnum, char *socketname, unsigned flags)
  6. {
  7.         MYSQL   *conn;

  8.         conn = mysql_init(NULL);
  9.         if (conn == NULL) {
  10.                 return(NULL);
  11.         }
  12.         if (mysql_real_connect(conn, hostname, username, passwd, dbname, portnum, \
  13.                 socketname, flags) == NULL) {
  14.                 Print_Error(conn, __FILE__, __LINE__);
  15.                 return(NULL);
  16.         }
  17.         return(conn);
  18. }
复制代码



  1.         MYSQL_RES       *res_set = NULL;
  2.         MYSQL_ROW       row;

  3.         snprintf(strSql, 1023, "SELECT max(iServID) FROM tUserBasic");//sql 语句
  4.         if( mysql_query(conn, strSql) != 0 ) {      //根据sql语句执行
  5.                 Print_Error(conn, __FILE__, __LINE__);
  6.                 return -1;
  7.         }
  8.         if( (res_set = mysql_store_result(conn)) == NULL ) {//得到返回记录
  9.                 Print_Error(conn, __FILE__, __LINE__);
  10.                 return -2;
  11.         }
  12.         if( (row = mysql_fetch_row(res_set)) == NULL ) {//得到记录的一行
  13.                 servid = 0;
  14.         }
  15.         else
  16.                 sscanf(row[0], "%d", &servid);

复制代码

连接上以后返回一个MYSQL* 的指针,然后就可以对它操作了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表