隨筆-69  評(píng)論-0  文章-5  trackbacks-0
          一,造libmysql.def文件
             1, ${mysql_home}/include/libmySQL.def文件如果有直接用
             2, 否則下載pexports工具,執(zhí)行pexprots libmySQL.dll> libmySQL.def(libmySQL.dll在${mysql_home}/bin目錄下一般會(huì)有)
          二,轉(zhuǎn)換成靜態(tài)庫
             dlltool --input-def libmySQL.def --dllname libmySQL.dll --output-lib libmysql.a -k
          三,配置Eclipse(靜態(tài)庫和動(dòng)態(tài)庫加法都是-L${DIR} -l${libname},但誰的優(yōu)先級(jí)高呢?)
              1, 加上庫目錄,如"${workspace_loc:/hello_mysql/libs}"
              2, 加上libmysql.a的庫名: mysql
              3, 構(gòu)建,報(bào)錯(cuò):  #ff0000 reference to `mysql_real_connect@32'之類的錯(cuò)
              4, 修改def文件,將mysql_real_connect改成mysql_real_connect@32,其它錯(cuò)誤同理,并重新生成靜態(tài)庫
              5, 重新構(gòu)建完成
          四,示例程序(只須修改連接信息及表名)
          #include <stdio.h>
          /*下面這一行一定要加上*/
          #include 
          <my_global.h>
          #include 
          <mysql.h>

          int main() {
              MYSQL mysql;
              MYSQL_RES 
          *result;
              MYSQL_ROW row;

              
          int numrows, numcols, c;

              mysql_init(
          &mysql);

              
          if (!mysql_real_connect(&mysql, "localhost""opencart""opencart""opencart"0, NULL, 0)) {
                  fprintf(stderr,
          "Failed to connect to database: Error %d:%s\n", mysql_errno(&mysql), mysql_error(&mysql));
              }
              
          char query[] = "SELECT * FROM product";

              
          if (mysql_query(&mysql, query))
              {
                  fprintf(stderr,
          "Error executing query: Error %d: %s\n", mysql_errno(&mysql), mysql_error(&mysql));
              }

              result 
          = mysql_use_result(&mysql);

              
          if (!result) {
                  fprintf(stderr,
          "Error executing query: Error %d: %s\n", mysql_errno(&mysql), mysql_error(&mysql));
              }
              numcols 
          = mysql_num_fields(result);

              
          while (row = mysql_fetch_row(result)) {
                  
          for (c = 0; c < numcols; c++) {
                      printf(
          "%s\t", row[c]);
                  }
                  printf(
          "\n");
              }
          }

             
          posted on 2008-07-14 15:36 liunix 閱讀(1039) 評(píng)論(0)  編輯  收藏

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 乐陵市| 玉环县| 苏尼特右旗| 庄浪县| 岳阳县| 武川县| 上林县| 开鲁县| 邛崃市| 名山县| 涿鹿县| 咸宁市| 贵阳市| 台江县| 都匀市| 龙山县| 济源市| 宁德市| 东乌珠穆沁旗| 马山县| 安福县| 微博| 广安市| 湖南省| 崇文区| 会理县| 沁水县| 北流市| 朝阳市| 余庆县| 东乌珠穆沁旗| 洱源县| 七台河市| 盐亭县| 玉溪市| 丁青县| 江达县| 竹北市| 平泉县| 昌平区| 巩留县|