c讀取資料庫數據
else
{P0=tab[yi];
P2=0;
del(2);
P0=tab[er];
P2=1;
del(2);
P0=tab[10];
P2=2;
del(2);
P0=tab[san];
P2=3;
del(2);
P0=tab[si];
P2=4;
del(2);
P0=tab[10];
P2=5;
del(2);
P0=tab[wu];
P2=6;
del(2);
❷ c語言讀取mysql庫中的數據的程序頭文件怎麼設置
Mysql C API編程步驟
1、首先我們要包含mysql的頭文件,並鏈接mysql動態庫。即添加以下語句:
#include <WinSock2.h> // 進行網路編程需要winsock2.h
#include <mysql.h>
#pragma comment(lib, 「libmysql.lib」)
2、創建MYSQL變數。如:
MYSQL mysql;
3、初始化MYSQL變數。
mysql_init(&mysql);
4、調用mysql_real_connect函數連接Mysql資料庫。mysql_real_connect函數的原型如下:
MYSQL * STDCALL mysql_real_connect(MYSQL *mysql, const char *host,const char *user,const char *passwd,const char *db,unsigned int port,const char *unix_socket,unsigned long clientflag);
參數說明:mysql–前面定義的MYSQL變數;host–MYSQL伺服器的地址;user–登錄用戶名;passwd–登錄密碼;db–要連接的資料庫;port–MYSQL伺服器的TCP服務埠;unix_socket–unix連接方式,為NULL時表示不使用socket或管道機制;clientflag–Mysql運行為ODBC資料庫的標記,一般取0。連接失敗時該函數返回0。
5、調用mysql_real_query函數進行資料庫查詢。mysql_real_query函數的原型如下:
int STDCALL mysql_real_query(MYSQL *mysql, const char *q, unsigned long length);
參數說明:mysql–前面定義的MYSQL變數;q–SQL查詢語句;length–查詢語句的長度。
查詢成功則該函數返回0。
6、通過調用mysql_store_result或mysql_use_result函數返回的MYSQL_RES變數獲取查詢結果數據。
兩個函數的原型分別為:
MYSQL_RES * STDCALL mysql_store_result(MYSQL *mysql);
MYSQL_RES * STDCALL mysql_use_result(MYSQL *mysql);
這兩個函數分別代表了獲取查詢結果的兩種方式。第一種,調用mysql_store_result函數將從Mysql伺服器查詢的所有數據都存儲到客戶端,然後讀取;第二種,調用mysql_use_result初始化檢索,以便於後面一行一行的讀取結果集,而它本身並沒有從伺服器讀取任何數據,這種方式較之第一種速度更快且所需內存更少,但它會綁定伺服器,阻止其他線程更新任何錶,而且必須重復執行mysql_fetch_row讀取數據,直至返回NULL,否則未讀取的行會在下一次查詢時作為結果的一部分返回,故經常我們使用mysql_store_result。
7、調用mysql_fetch_row函數讀取結果集數據。
上述兩種方式最後都是重復調用mysql_fetch_row函數讀取數據。mysql_fetch_row函數的原型如下:
MYSQL_ROW STDCALL mysql_fetch_row(MYSQL_RES *result);
參數result就是mysql_store_result或mysql_use_result的返回值。
該函數返回MYSQL_ROW型的變數,即字元串數組,假設為row,則row〔i〕為第i個欄位的值。當到結果集尾部時,此函數返回NULL。
8、結果集用完後,調用mysql_free_result函數釋放結果集,以防內存泄露。mysql_free_result函數的原型如下:
void STDCALL mysql_free_result(MYSQL_RES *result);
9、不再查詢Mysql資料庫時,調用mysql_close函數關閉資料庫連接。mysql_close函數的原型為:
void STDCALL mysql_close(MYSQL *sock);
❸ c語言調用資料庫mysql5.6,數據查詢後怎樣讀取
讀取出來的 char 字元么。
atoi 一下 不就變成int了么。
你這個屬於存練習 代碼. 邏輯比較混亂. 慢慢來吧.
我寫過的用 vector 和 map 做的 mysql讀取的結果集的封裝 你可以看看.
http://wenku..com/view/68dd062ca5e9856a561260e8.html
❹ 怎樣用C讀sql資料庫中的數據
C語言資料庫編程,網上查查有例子
❺ C語言中 如何將資料庫中的數據存至文本中
#!/bin/bash
result=$(sqlplus -s 'scott/tiger@dbname'<<EOF
spool test.txt
set pages 0
set feed off
set heading off;
set feedback off;
set verify off;
set linesize 1000;
SELECT * FROM scott.emp where empno=7369;
spool off
EOF
)
echo $result
~
~
~
~
~
~
~
~
~
"test.sh" 14L, 256C written
oracle@****:~> ./test.sh
7369 SMITH CLERK 7902 17-DEC-80 2240.06 20
oracle@****:~> more test.txt
7369 SMITH CLERK 7902 17-DEC-80 2240.06
20
❻ 怎樣從資料庫中讀出數據
public DataSet query(string sql)
{
DataSet ds = new DataSet();//DataSet是表的集合
SqlDataAdapter da = new SqlDataAdapter(sql, conn);//從資料庫中查詢
da.Fill(ds);//將數據填充到DataSet
connClose();//關閉連接
return ds;//返回結果
}
這就讀出來了
❼ c語言操作資料庫
都是可以的
C/C++與資料庫交互,像 mssql / mysql / oracle 等,一般都有成熟的第三方庫,這些庫裡面無非就是封裝了與資料庫通訊的方式和通訊協議
搜一下你要用的資料庫相關的 API 文檔,會說得很清楚
任何文件都是二進制數據,關鍵是數據存儲的組織方式
通用擴展名的文件,像gif/doc/jpg/wav,格式都是固定的
讀出數據來以後按照一定的規律去解析就能可以正確解讀
這個規律,就是文件存儲格式,也可以搜到相關的文檔
❽ 用c語言怎麼連接資料庫呢
25.2.2. C API函數概述
這里歸納了C API可使用的函數,並在下一節詳細介紹了它們。請參見25.2.3節,「C API函數描述」。
函數
描述
mysql_affected_rows()
返回上次UPDATE、DELETE或INSERT查詢更改/刪除/插入的行數。
mysql_autocommit()
切換 autocommit模式,ON/OFF
mysql_change_user()
更改打開連接上的用戶和資料庫。
mysql_charset_name()
返回用於連接的默認字元集的名稱。
mysql_close()
關閉伺服器連接。
mysql_commit()
提交事務。
mysql_connect()
連接到MySQL伺服器。該函數已不再被重視,使用mysql_real_connect()取代。
mysql_create_db()
創建資料庫。該函數已不再被重視,使用SQL語句CREATE DATABASE取而代之。
mysql_data_seek()
在查詢結果集中查找屬性行編號。
mysql_debug()
用給定的字元串執行DBUG_PUSH。
mysql_drop_db()
撤銷資料庫。該函數已不再被重視,使用SQL語句DROP DATABASE取而代之。
mysql_mp_debug_info()
讓伺服器將調試信息寫入日誌。
mysql_eof()
確定是否讀取了結果集的最後一行。該函數已不再被重視,可以使用mysql_errno()或mysql_error()取而代之。
mysql_errno()
返回上次調用的MySQL函數的錯誤編號。
mysql_error()
返回上次調用的MySQL函數的錯誤消息。
mysql_escape_string()
為了用在SQL語句中,對特殊字元進行轉義處理。
mysql_fetch_field()
返回下一個表欄位的類型。
mysql_fetch_field_direct()
給定欄位編號,返回表欄位的類型。
mysql_fetch_fields()
返回所有欄位結構的數組。
mysql_fetch_lengths()
返回當前行中所有列的長度。
mysql_fetch_row()
從結果集中獲取下一行
mysql_field_seek()
將列游標置於指定的列。
mysql_field_count()
返回上次執行語句的結果列的數目。
mysql_field_tell()
返回上次mysql_fetch_field()所使用欄位游標的位置。
mysql_free_result()
釋放結果集使用的內存。
mysql_get_client_info()
以字元串形式返回客戶端版本信息。
mysql_get_client_version()
以整數形式返回客戶端版本信息。
mysql_get_host_info()
返回描述連接的字元串。
mysql_get_server_version()
以整數形式返回伺服器的版本號。
mysql_get_proto_info()
返回連接所使用的協議版本。
mysql_get_server_info()
返回伺服器的版本號。
mysql_info()
返回關於最近所執行查詢的信息。
mysql_init()
獲取或初始化MYSQL結構。
mysql_insert_id()
返回上一個查詢為AUTO_INCREMENT列生成的ID。
mysql_kill()
殺死給定的線程。
mysql_library_end()
最終確定MySQL C API庫。
mysql_library_init()
初始化MySQL C API庫。
mysql_list_dbs()
返回與簡單正則表達式匹配的資料庫名稱。
mysql_list_fields()
返回與簡單正則表達式匹配的欄位名稱。
mysql_list_processes()
返回當前伺服器線程的列表。
mysql_list_tables()
返回與簡單正則表達式匹配的表名。
mysql_more_results()
檢查是否還存在其他結果。
mysql_next_result()
在多語句執行過程中返回/初始化下一個結果。
mysql_num_fields()
返回結果集中的列數。
mysql_num_rows()
返回結果集中的行數。
mysql_options()
為mysql_connect()設置連接選項。
mysql_ping()
檢查與伺服器的連接是否工作,如有必要重新連接。
mysql_query()
執行指定為「以Null終結的字元串」的SQL查詢。
mysql_real_connect()
連接到MySQL伺服器。
mysql_real_escape_string()
考慮到連接的當前字元集,為了在SQL語句中使用,對字元串中的特殊字元進行轉義處理。
mysql_real_query()
執行指定為計數字元串的SQL查詢。
mysql_refresh()
刷新或復位表和高速緩沖。
mysql_reload()
通知伺服器再次載入授權表。
mysql_rollback()
回滾事務。
mysql_row_seek()
使用從mysql_row_tell()返回的值,查找結果集中的行偏移。
mysql_row_tell()
返回行游標位置。
mysql_select_db()
選擇資料庫。
mysql_server_end()
最終確定嵌入式伺服器庫。
mysql_server_init()
初始化嵌入式伺服器庫。
mysql_set_server_option()
為連接設置選項(如多語句)。
mysql_sqlstate()
返回關於上一個錯誤的SQLSTATE錯誤代碼。
mysql_shutdown()
關閉資料庫伺服器。
mysql_stat()
以字元串形式返回伺服器狀態。
mysql_store_result()
檢索完整的結果集至客戶端。
mysql_thread_id()
返回當前線程ID。
mysql_thread_safe()
如果客戶端已編譯為線程安全的,返回1。
mysql_use_result()
初始化逐行的結果集檢索。
mysql_warning_count()
返回上一個SQL語句的告警數。 詳見:http://dev.mysql.com/doc/refman/5.1/zh/apis.html#c-api-function-overview
http://dev.mysql.com/doc/refman/5.0/en/c.html
❾ c語言關於從資料庫讀取數據寫文件
#include<stdio.h>
execsqlincludesqlca;
intmain(){
execsqlbegindeclaresection;
charuserpasswd[30]="openlab/123456";
struct{
intid;
charname[30];
doublesalary;
}emp;
execsqlenddeclaresection;
execsqlconnect:userpasswd;
selectid,first_name,salaryfrom
s_emporderbysalary;
execsqlopenempcursor;
;
for(;;){
execsqlfetchempcursorinto:emp;
printf("%d:%s:%lf ",emp.id,emp.name,
emp.salary);
}
execsqlcloseempcursor;
execsqlcommitworkrelease;
}
把數據存到結構體里。
❿ C語言怎麼讀取MYSQL資料庫的結果集
MYSQL也是C\C++的,,,,一開始就是C、C++使用的,官方有文檔的
~~~~~
安裝的MYSQL裡面有頭文件.h、和庫文件.lib