藍森林首頁 | 返回主頁 | 本站地圖 | 站內搜索 | 聯繫信箱 |
 您目前的位置:首頁 > 自由軟件 > 技術交流 > 數 據 庫


    

藍森林 http://www.lslnet.com 2006年8月18日 9:58

我用C寫mysql的客戶端程序,這樣的查詢如何實現?

我要查詢一個表,用select後返回的行不確定(有可能是200行,也有可能是2000行),但我想在我的程序中實現翻頁(上翻,下翻),如果用mysql_fetch_row()只能一行行地往下讀?可要再往上讀應該怎麼辦?不會告訴我只能定義一個足夠大的數組再把返回的紀錄全部cp到數據組才能實現吧?如果那樣的話我的數組不是要設很大?還是用那種char aa[][50]不確定數目的數組?
在mysql 的c api裡有沒有把res指向的row往上移一行的函數?好像每用一次mysql_fetch_row()就指向返回的下一行,如果我嚮往上走一行呢?

Re: 我用C寫mysql的客戶端程序,這樣的查詢如何實現?

用limit(m,n)

能不能寫明白一點?

我很笨的,這個limit是什麼函數?是mysql c api裡的?還是unix c裡的?這個函數有什麼功能?裡面的參數m,n又是指什麼?

Re: 能不能寫明白一點?

limit 是mysql提供的擴展

LIMIT子句可以被用來限制SELECT語句返回的行數。LIMIT取1個或2個數字參數,如果給定2個參數,第一個指定要返回的第一行的偏移量,第二個指定返回行的最大數目。初始行的偏移量是0(不是1)。
mysql> select * from table LIMIT 5,10; # Retrieve rows 6-15

如果給定一個參數,它指出返回行的最大數目。

mysql> select * from table LIMIT 5; # Retrieve first 5 rows

換句話說,LIMIT n等價於LIMIT 0,n。



Re: 我用C寫mysql的客戶端程序,這樣的查詢如何實現?

我用C API訪問MySQL數據庫,運行結果報錯,如下:
relocation errno /usr/lib/libmyclient.so.10: symbol errno,version GLIBC_2.0 not defined in file libc.so.6
with link time reference
以上就是我的錯誤!!

我的測試代碼只有以下:
#include<stdio.h>
#include<mysql.h>
main()
{
MYSQL mysql;
mysql_init(&mysql);(報錯)!!!!

}
請您幫我一下,謝謝!!!

文章選項:




Copyright © 1999-2000 LSLNET.COM. All rights reserved. 藍森林網站 版權所有。 E-mail : webmaster@lslnet.com