亚洲韩日午夜视频,欧美日韩在线精品一区二区三区,韩国超清无码一区二区三区,亚洲国产成人影院播放,久草新在线,在线看片AV色

您好,歡迎來到思海網絡,我們將竭誠為您提供優質的服務! 誠征網絡推廣 | 網站備案 | 幫助中心 | 軟件下載 | 購買流程 | 付款方式 | 聯系我們 [ 會員登錄/注冊 ]
促銷推廣
客服中心
業務咨詢
有事點擊這里…  531199185
有事點擊這里…  61352289
點擊這里給我發消息  81721488
有事點擊這里…  376585780
有事點擊這里…  872642803
有事點擊這里…  459248018
有事點擊這里…  61352288
有事點擊這里…  380791050
技術支持
有事點擊這里…  714236853
有事點擊這里…  719304487
有事點擊這里…  1208894568
有事點擊這里…  61352289
在線客服
有事點擊這里…  531199185
有事點擊這里…  61352288
有事點擊這里…  983054746
有事點擊這里…  893984210
當前位置:首頁 >> 技術文章 >> 文章瀏覽
技術文章

Linux下C語言學習筆記—操作MySQL

添加時間:2011-10-8  添加: admin 

  注:下面的所有例子在mandriva linux下測試通過

  1,使用c語言操作mysql之前,先在mysql里頭創建一個數據庫,一個表,在表里頭添加數據如下:

  創建數據庫,庫名為cusemysql:

  mysql>create database cusemysql;

  創建表,表名為:

  mysql>use cusemysql;

  mysql>create table children(childno int not null unique,fname varchar(20),age int);

  添加一點數據哦:

  mysql>insert into children values(5,"anny",10);

  對拉,為了方便起見,把表的大致樣子給大家看看

  childno fname age

  1 小星 9

  2 大量 15

  //////////////////

  /* select1.c */

  #include

  #include

  #include

  #include "/usr/include/mysql/mysql.h"

  int main(int argc, char *argv[])

  {

  MYSQL my_connection;

  MYSQL_RES *res_ptr; /*指向檢索的結果存放地址的指針*/

  MYSQL_ROW sqlrow; /*返回的記錄信息*/

  MYSQL_FIELD *fd; /*字段結構指針*/

  char aszflds[25][25]; /*用來存放各字段名*/

  int res; /*執行查詢操作后的返回標志*/

  int i,j,k;

  mysql_init(&my_connection);

  /*mysql_real_connect(&mysql,host,user,passwd,dbname,0,NULL,0) == NULL)*/

  if (mysql_real_connect(&my_connection, "127.0.0.1", "root", "你的密碼","cusemysql",0,NULL,CLIENT_FOUND_ROWS))

  {

  printf("Connection success\n");

  res = mysql_query(&my_connection, "select childno,fname,age from children where age<20");

  if (res)

  {

  printf("SELECT error:%s\n",mysql_error(&my_connection));

  }

  else

  {

  res_ptr=mysql_store_result(&my_connection);

  if(res_ptr)

  {

  printf("Retrieved %lu Rows\n",(unsigned long)mysql_num_rows(res_ptr));

  /*取得各字段名*/

  for(i=0;fd=mysql_fetch_field(res_ptr);i++)

  strcpy(aszflds[i],fd->name);

  /*輸出各條記錄*/

  printf("下面是檢索出的各條記錄信息:\n");

  j=mysql_num_fields(res_ptr);

  for(i=0;i

  printf("%s\t",aszflds[i]);

  printf("\n");

  while((sqlrow=mysql_fetch_row(res_ptr)))

  {

  for(i=0;i

  printf("%s\t",sqlrow[i]);

  printf("\n");

  }

  if (mysql_errno(&my_connection))

  {

  fprintf(stderr,"Retrive error:s\n",mysql_error(&my_connection));

  }

  }

  mysql_free_result(res_ptr);

  }

  mysql_close(&my_connection);

  }

  else

  {

  fprintf(stderr, "Connection failed\n");

  if (mysql_errno(&my_connection))

  {

  fprintf(stderr, "Connection error %d: %s\n",

  mysql_errno(&my_connection),

  mysql_error(&my_connection));

  }

  }

  return EXIT_SUCCESS;

  }

  //////////////////////////////////////

  主要要注意的幾個地方是:

  1,mysql.h的路徑,必須確定它的絕對路徑哦(這句話是錯誤的,只要在編譯是把對應庫編譯進去即可,具體操作方法請查詢本博客)

  2,注意你的數據庫的用戶名和密碼是否正確

  3,在編譯的時候必須包含這個庫文件mysqlclient.a[記不太清楚,不過你可以直接包含它所在的目錄下的所有庫,肯定就沒有問題,

  各方意見:

  一.

  編譯方法有點不規范。

  正確的應該是這樣:

  1.在程序開頭包含頭文件應這樣寫:

  #include (這里要找出mysql.h的文件路徑,方法是 $find / -name -a

  我的路徑是 "/usr/include/mysql“所以這里很重要

  2.編譯應這樣寫:(原文)

  $ gcc -o mysql mysql.c `mysql_config --cflags --libs`(我測試了,不可用,估計大的思想是對的)

  我用的命令

  $gcc -o select $(mysql_config --cflags) select.c $(mysql_config --libs)

關鍵字:數據庫、mysql

分享到:

頂部 】 【 關閉
版權所有:佛山思海電腦網絡有限公司 ©1998-2024 All Rights Reserved.
聯系電話:(0757)22630313、22633833
中華人民共和國增值電信業務經營許可證: 粵B1.B2-20030321 備案號:粵B2-20030321-1
網站公安備案編號:44060602000007 交互式欄目專項備案編號:200303DD003  
察察 工商 網安 舉報有獎  警警  手機打開網站