C/C++ 連接MySql數(shù)據(jù)庫(kù)的方法
一、VS2008工程設(shè)置工作
首先,建立一個(gè)windows應(yīng)用程序的工程,將C/C++->預(yù)處理器->預(yù)處理器定義下的_WINDOWS改為_(kāi)CONSOLE,
將連接器->系統(tǒng)->子系統(tǒng) 選擇為控制臺(tái)。
由于我們要使用Mysql的API,并且我們機(jī)子上肯定安裝了Mysql數(shù)據(jù)庫(kù),所以我們要將工程的頭文件路徑指向Mysql安裝目錄的同文件mysql.h所在的位置,將連接庫(kù)路徑指向libmysql.lib所在的路徑,
在我的機(jī)子上,Mysql 的安裝路徑為:C:\Program Files\MySQL\MySQL Server 5.1
我們需要把VS2008的工程中的頭文件路徑和連接庫(kù)路徑指向上面的兩個(gè)地方:
將x項(xiàng)目屬性頁(yè)的C/C++->常規(guī)->附加包含目錄指向:C:\Program Files\MySQL\MySQL Server 5.1\include
將項(xiàng)目屬性頁(yè)的鏈接器->常規(guī)->附加庫(kù)目錄指向:C:\Program Files\MySQL\MySQL Server 5.1\lib\opt.
將鏈接器->輸入->附加依賴(lài)項(xiàng)中添加libmysql.lib。
如果不設(shè)置鏈接器->輸入->附加依賴(lài)項(xiàng)中添加libmysql.lib,那么會(huì)出現(xiàn)如下的錯(cuò)誤:
1>------ 已啟動(dòng)全部重新生成: 項(xiàng)目: MySql-Connect, 配置: Debug Win32 ------ 1>正在刪除項(xiàng)目“MySql-Connect”(配置“Debug|Win32”)的中間文件和輸出文件 1>正在編譯... 1>MySql_Connect.cpp 1>x:\編程練習(xí)\c-c++\c\mysql_connect.cpp(35) : warning C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. 1> d:\program files\microsoft visual studio 9.0\vc\include\stdio.h(306) : 參見(jiàn)“scanf”的聲明 1>x:\編程練習(xí)\c-c++\c\mysql_connect.cpp(72) : warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. 1> d:\program files\microsoft visual studio 9.0\vc\include\stdio.h(366) : 參見(jiàn)“sprintf”的聲明 1>x:\編程練習(xí)\c-c++\c\mysql_connect.cpp(86) : warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. 1> d:\program files\microsoft visual studio 9.0\vc\include\stdio.h(366) : 參見(jiàn)“sprintf”的聲明 1>正在編譯資源清單... 1>Microsoft (R) Windows (R) Resource Compiler Version 6.1.6723.1 1>Copyright (C) Microsoft Corporation. All rights reserved. 1>正在鏈接... 1>LINK : 沒(méi)有找到 d:\我的文檔\Visual Studio 2008\Projects\MySql-Connect\Debug\MySql-Connect.exe 或上一個(gè)增量鏈接沒(méi)有生成它;正在執(zhí)行完全鏈接 1>MySql_Connect.obj : error LNK2019: 無(wú)法解析的外部符號(hào) _mysql_close@4,該符號(hào)在函數(shù) _main 中被引用 1>MySql_Connect.obj : error LNK2019: 無(wú)法解析的外部符號(hào) _mysql_free_result@4,該符號(hào)在函數(shù) _main 中被引用 1>MySql_Connect.obj : error LNK2019: 無(wú)法解析的外部符號(hào) _mysql_num_fields@4,該符號(hào)在函數(shù) _main 中被引用 1>MySql_Connect.obj : error LNK2019: 無(wú)法解析的外部符號(hào) _mysql_fetch_row@4,該符號(hào)在函數(shù) _main 中被引用 1>MySql_Connect.obj : error LNK2019: 無(wú)法解析的外部符號(hào) _mysql_store_result@4,該符號(hào)在函數(shù) _main 中被引用 1>MySql_Connect.obj : error LNK2019: 無(wú)法解析的外部符號(hào) _mysql_error@4,該符號(hào)在函數(shù) _main 中被引用 1>MySql_Connect.obj : error LNK2019: 無(wú)法解析的外部符號(hào) _mysql_real_query@12,該符號(hào)在函數(shù) _main 中被引用 1>MySql_Connect.obj : error LNK2019: 無(wú)法解析的外部符號(hào) _mysql_select_db@8,該符號(hào)在函數(shù) _main 中被引用 1>MySql_Connect.obj : error LNK2019: 無(wú)法解析的外部符號(hào) _mysql_real_connect@32,該符號(hào)在函數(shù) _main 中被引用 1>MySql_Connect.obj : error LNK2019: 無(wú)法解析的外部符號(hào) _mysql_init@4,該符號(hào)在函數(shù) _main 中被引用 1>d:\我的文檔\Visual Studio 2008\Projects\MySql-Connect\Debug\MySql-Connect.exe : fatal error LNK1120: 10 個(gè)無(wú)法解析的外部命令 1>生成日志保存在“file://d:\我的文檔\Visual Studio 2008\Projects\MySql-Connect\MySql-Connect\Debug\BuildLog.htm” 1>MySql-Connect - 11 個(gè)錯(cuò)誤,3 個(gè)警告 ========== 全部重新生成: 成功 0 個(gè),失敗 1 個(gè),跳過(guò) 0 個(gè) ==========
二、連接Mysql和從MySql中取出數(shù)據(jù)的API介紹
2.1 mysql_real_connect()
2.1.1 函數(shù)原型:
MYSQL *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 int client_flag)
2.1.2 參數(shù)說(shuō)明:
• 第一個(gè)參數(shù)應(yīng)該是一個(gè)現(xiàn)存MYSQL結(jié)構(gòu)的地址。在調(diào)用mysql_real_connect()之前,你必須調(diào)用mysql_init()初始化MYSQL結(jié)構(gòu)。見(jiàn)下面的例子。
• host值可以是一個(gè)主機(jī)名或一個(gè)IP地址。如果host是NULL或字符串"localhost",假定是到本地主機(jī)的一個(gè)連接。如果OS支持套接字(Unix)或命名管道(Win32),使用他們而不是TCP/IP與服務(wù)器連接。
• user參數(shù)包含用戶(hù)的MySQL登錄ID。如果user是NULL,假定是當(dāng)前用戶(hù)。在Unix下,它是當(dāng)前登錄名。在Windows ODBC下,必須明確地指定當(dāng)前用戶(hù)名字。見(jiàn)16.4 怎樣填寫(xiě)ODBC管理程序中各種域。
• passwd參數(shù)為user包含口令。如果passwd是NULL,只有在user表中對(duì)于有一個(gè)空白口令字段的用戶(hù)的條目將被檢查一個(gè)匹配。這允許數(shù)據(jù)庫(kù)主管設(shè)置MySQL權(quán)限,使用戶(hù)獲得不同的口令,取決于他們是否已經(jīng)指定一個(gè)口令。注意:不要試圖在調(diào)用mysql_real_connect()前加密口令;口令加密自動(dòng)被客戶(hù)API處理。
• db是數(shù)據(jù)庫(kù)名。如果db不是NULL,連接將缺省數(shù)據(jù)庫(kù)設(shè)置為這個(gè)值。
• 如果port不是0,值對(duì)于TCP/IP連接將用作端口號(hào)。注意host參數(shù)決定連接的類(lèi)型。
• 如果unix_socket不是NULL,字符串指定套接字或應(yīng)該被使用的命名管道。注意host參數(shù)決定連接的類(lèi)型。
• client_flag值通常是0,但是在很特殊的情況下可以被設(shè)置為下列標(biāo)志的組合:
標(biāo)志名字 意味著的標(biāo)志
CLIENT_FOUND_ROWS 返回找到的(匹配的)行數(shù),不是受到影響的行數(shù)。
CLIENT_NO_SCHEMA 不允許db_name.tbl_name.col_name語(yǔ)法。這是為了ODBC;如果你使用該語(yǔ)法,導(dǎo)致語(yǔ)法分析器產(chǎn)生一個(gè)錯(cuò)誤,它是為在一些ODBC程序捕捉錯(cuò)誤是有用的。
CLIENT_COMPRESS 使用壓縮協(xié)議。
CLIENT_ODBC 客戶(hù)是一個(gè)ODBC客戶(hù)。這使mysqld變得對(duì)ODBC更友好。
2.1.3 返回值
如果連接成功,一個(gè) MYSQL*連接句柄。如果連接失敗,NULL。對(duì)一個(gè)成功的連接,返回值與第一個(gè)參數(shù)值相同,除非你傳遞NULL給該參數(shù)。
2.1.4 錯(cuò)誤
CR_CONN_HOST_ERROR
不能連接MySQL服務(wù)器。
CR_CONNECTION_ERROR
不能連接本地MySQL服務(wù)器。
CR_IPSOCK_ERROR
不能創(chuàng)建一個(gè)IP套接字。
CR_OUT_OF_MEMORY
內(nèi)存溢出。
CR_SOCKET_CREATE_ERROR
不能創(chuàng)建一個(gè)Unix套接字。
CR_UNKNOWN_HOST
不能找到主機(jī)名的IP地址。
CR_VERSION_ERROR
由于試圖使用一個(gè)不同協(xié)議版本的一個(gè)客戶(hù)庫(kù)與一個(gè)服務(wù)器連接導(dǎo)致的一個(gè)協(xié)議失配。如果你使用一個(gè)非常老的客戶(hù)庫(kù)連接一個(gè)沒(méi)有使用--old-protocol選項(xiàng)啟動(dòng)的新服務(wù)器,這就能發(fā)生。
CR_NAMEDPIPEOPEN_ERROR;
不能在 Win32 上創(chuàng)建一個(gè)命名管道。
CR_NAMEDPIPEWAIT_ERROR;
不能在 Win32 上等待一個(gè)命名管道。
CR_NAMEDPIPESETSTATE_ERROR;
不能在 Win32 上得到一個(gè)管道處理器。
2.2 mysql_select_db()
2.2.1 函數(shù)原型
int mysql_select_db(MYSQL *mysql, const char *db)
2.2.2 參數(shù)說(shuō)明
使得由db指定的數(shù)據(jù)庫(kù)成為 在由mysql指定的連接上的缺省(當(dāng)前)數(shù)據(jù)庫(kù)。在隨后的查詢(xún)中,這個(gè)數(shù)據(jù)庫(kù)對(duì)于不包括一個(gè)顯式的數(shù)據(jù)庫(kù)指定符的表的引用是缺省數(shù)據(jù)庫(kù)。
除非連接的用戶(hù)能被認(rèn)證允許使用數(shù)據(jù)庫(kù),否則mysql_select_db()失敗。
2.2.3 返回值
成功,零。如果發(fā)生一個(gè)錯(cuò)誤,非零。
2.2.4 錯(cuò)誤
CR_COMMANDS_OUT_OF_SYNC
命令以一個(gè)不適當(dāng)?shù)拇涡虮粓?zhí)行。
CR_SERVER_GONE_ERROR
MySQL服務(wù)器關(guān)閉了。
CR_SERVER_LOST
對(duì)服務(wù)器的連接在查詢(xún)期間失去。
CR_UNKNOWN_ERROR
發(fā)生一個(gè)未知的錯(cuò)誤。
2.3 mysql_real_query
2.3.1 函數(shù)原型
int mysql_real_query(MYSQL *mysql, const char *query, unsigned int length)
2.3.2 參數(shù)說(shuō)明
執(zhí)行由query指向的SQL查詢(xún),它應(yīng)該是一個(gè)length個(gè)字節(jié)的字符串。查詢(xún)必須由一個(gè)單個(gè)的SQL語(yǔ)句組成。你不應(yīng)該在語(yǔ)句后增加一個(gè)終止的分號(hào)(“;”)或\g。
對(duì)于包含二進(jìn)制數(shù)據(jù)的查詢(xún),你必須使用mysql_real_query()而不是mysql_query(),因?yàn)槎M(jìn)制代碼數(shù)據(jù)可能包含“\0”字符,而且,mysql_real_query()比mysql_query()更快,因?yàn)樗鼘?duì)查詢(xún)字符串調(diào)用strlen()。
2.3.3 返回值
如果查詢(xún)成功,零。如果發(fā)生一個(gè)錯(cuò)誤,非零。
2.3.4 錯(cuò)誤
CR_COMMANDS_OUT_OF_SYNC
命令以一個(gè)不適當(dāng)?shù)拇涡虮粓?zhí)行。
CR_SERVER_GONE_ERROR
MySQL服務(wù)器關(guān)閉了。
CR_SERVER_LOST
對(duì)服務(wù)器的連接在查詢(xún)期間失去。
CR_UNKNOWN_ERROR
發(fā)生一個(gè)未知的錯(cuò)誤。
2.4 mysql_store_result
2.4.1 函數(shù)原型
MYSQL_RES *mysql_store_result(MYSQL *mysql)
2.4.2 返回值
A MYSQL_RES result structure with the results. NULL (0) if an error occurred.
2.5 mysql_fetch_row()
Description
Retrieves the next row of a result set. When used after mysql_store_result(), mysql_fetch_row() returns NULL when there are no more rows to retrieve. When used after mysql_use_result(), mysql_fetch_row() returns NULL when there are no more rows to retrieve or if an error occurred.
The number of values in the row is given by mysql_num_fields(result). If row holds the return value from a call tomysql_fetch_row(), pointers to the values are accessed as row[0] to row[mysql_num_fields(result)-1]. NULL values in the row are indicated by NULL pointers.
The lengths of the field values in the row may be obtained by calling mysql_fetch_lengths(). Empty fields and fields containing NULL both have length 0; you can distinguish these by checking the pointer for the field value. If the pointer is NULL, the field is NULL; otherwise, the field is empty.
Return Values
A MYSQL_ROW structure for the next row. NULL if there are no more rows to retrieve or if an error occurred.
Errors
Note that error is not reset between calls to mysql_fetch_row()
-
CR_SERVER_LOST
The connection to the server was lost during the query.
-
CR_UNKNOWN_ERROR
An unknown error occurred.
參考資料:http://dev.mysql.com/doc/refman/5.6/en/index.html
三、利用Mysql庫(kù)提供的API編寫(xiě)連接Mysql和從Mysql中取出數(shù)據(jù)的代碼
#include <windows.h> #include "stdio.h" #include "winsock.h" #include "mysql.h" int main() { MYSQL * con; //= mysql_init((MYSQL*) 0); MYSQL_RES *res; MYSQL_ROW row; char tmp[400]; //database configuartion char dbuser[30]="root"; char dbpasswd[30]="apple"; char dbip[30]="localhost"; char dbname[50]="excel"; char tablename[50]="test"; char *query=NULL; int x; int y; int rt;//return value unsigned int t; int count = 0; printf("input x,y\n"); scanf("%d,%d",&x,&y); fflush(stdin); printf("input over\n"); con = mysql_init((MYSQL*) 0); if ( con !=NULL && mysql_real_connect(con,dbip,dbuser,dbpasswd,dbname,3306/*TCP IP端口*/,NULL/*Unix Socket 連接類(lèi)型*/,0/*運(yùn)行成ODBC數(shù)據(jù)庫(kù)標(biāo)志*/) ) { if (!mysql_select_db(con,dbname)) { printf("Select successfully the database!\n"); con ->reconnect = 1; query = "set names \'GBK\'"; //mysql_query(con,"set names \'GBK\'"); rt=mysql_real_query(con,query,strlen(query)); if (rt) { printf("Error making query: %s !!!\n",mysql_error(con)); } else { printf("query %s succeed!\n",query); } } } else { MessageBoxA(NULL,"Unable to connect the database,check your configuration!","",NULL); } //sprintf(tmp,"update %s set 商品=\'%s\',賣(mài)出=%d,成交=%d,漲跌=%d,買(mǎi)進(jìn)=%d,總量=%d,漲幅=%f,時(shí)間=\'%s\' where %s",tablename,goods,sold,deal,fluctuate,buy,total,delta,time,UpdateCon); sprintf(tmp,"insert into %s values(%s,%d,%d)",tablename,"null",x,y); //注意如何向具有自增字段的數(shù)據(jù)庫(kù)中插入記錄 //MessageBoxA(NULL,tmp,tmp,MB_OK); //mysql_query(con,tmp); rt=mysql_real_query(con,tmp,strlen(tmp)); if (rt) { printf("Error making query: %s !!!\n",mysql_error(con)); } else { printf("%s executed!!!\n",tmp); } sprintf(tmp,"select * from %s",tablename); rt=mysql_real_query(con,tmp,strlen(tmp)); if (rt) { printf("Error making query: %s !!!\n",mysql_error(con)); } else { printf("%s executed!!!\n",tmp); } res = mysql_store_result(con);//將結(jié)果保存在res結(jié)構(gòu)體中 while(row = mysql_fetch_row(res)) { /** * MYSQL_ROW STDCALL mysql_fetch_row(MYSQL_RES *result); * 檢索行 */ for(t=0;t<mysql_num_fields(res);t++) { printf("%s ",row[t]); } printf(".............\n"); count ++; } printf("number of rows %d\n",count); printf("mysql_free_result...\n"); mysql_free_result(res); mysql_close(con); return 0; }
四、運(yùn)行結(jié)果
五、數(shù)據(jù)庫(kù)腳本
/*
Navicat MySQL Data Transfer
Source Server : localhost
Source Server Version : 50141
Source Host : localhost:3306
Source Database : excel
Target Server Type : MYSQL
Target Server Version : 50141
File Encoding : 65001
Date: 2011-09-23 10:41:43
*/
SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- Table structure for `test` -- ---------------------------- DROP TABLE IF EXISTS `test`; CREATE TABLE `test` ( `x` bigint(4) NOT NULL AUTO_INCREMENT, `y` int(4) DEFAULT NULL, `z` int(4) DEFAULT NULL, PRIMARY KEY (`x`) ) ENGINE=InnoDB AUTO_INCREMENT=118 DEFAULT CHARSET=latin1; -- ---------------------------- -- Records of test -- ---------------------------- INSERT INTO `test` VALUES ('95', '12432', '4334'); INSERT INTO `test` VALUES ('96', '213', '321'); INSERT INTO `test` VALUES ('97', '213', '213'); INSERT INTO `test` VALUES ('98', '123', '231'); INSERT INTO `test` VALUES ('99', '321', '231'); INSERT INTO `test` VALUES ('100', '123', '32132'); INSERT INTO `test` VALUES ('101', '777', '32213'); INSERT INTO `test` VALUES ('102', '123', '213'); INSERT INTO `test` VALUES ('103', '21', '321'); INSERT INTO `test` VALUES ('104', '324', '432'); INSERT INTO `test` VALUES ('105', '132', '231'); INSERT INTO `test` VALUES ('106', '324', '342'); INSERT INTO `test` VALUES ('107', '23', '23'); INSERT INTO `test` VALUES ('108', '12', '21'); INSERT INTO `test` VALUES ('109', '231', '321'); INSERT INTO `test` VALUES ('110', '123', '231'); INSERT INTO `test` VALUES ('111', '123', '231'); INSERT INTO `test` VALUES ('112', '123', '123'); INSERT INTO `test` VALUES ('113', '312', '231'); INSERT INTO `test` VALUES ('114', '312', '321'); INSERT INTO `test` VALUES ('115', '23', '3'); INSERT INTO `test` VALUES ('116', '213', '312'); INSERT INTO `test` VALUES ('117', '2', '3'); -- ---------------------------- -- Table structure for `xqdata` -- ---------------------------- DROP TABLE IF EXISTS `xqdata`; CREATE TABLE `xqdata` ( `代碼` varchar(20) NOT NULL DEFAULT '', `商品` varchar(20) CHARACTER SET utf8 DEFAULT NULL, `賣(mài)出` bigint(20) DEFAULT NULL, `成交` bigint(20) DEFAULT NULL, `漲跌` bigint(20) DEFAULT NULL, `買(mǎi)進(jìn)` bigint(20) DEFAULT NULL, `總量` bigint(20) DEFAULT NULL, `漲幅` double DEFAULT NULL, `時(shí)間` time DEFAULT NULL, PRIMARY KEY (`代碼`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- ---------------------------- -- Records of xqdata -- ---------------------------- INSERT INTO `xqdata` VALUES ('FITX*1', '商品', '34', '43', '23', '34', '0', '1.4', '13:23:08');
更正樓主一點(diǎn)內(nèi)容:_WINDOWS改為_(kāi)CONSOLE,你創(chuàng)建的是對(duì)話(huà)框等窗口應(yīng)用程序時(shí)不用修改這些宏,我覺(jué)得你創(chuàng)建控制臺(tái)程序系統(tǒng)也會(huì)自動(dòng)改成_CONSOLE,這點(diǎn)不用修改(我用的是VS2012不知VS2008要不要改動(dòng))。
上一篇:C語(yǔ)言 數(shù)據(jù)結(jié)構(gòu)平衡二叉樹(shù)實(shí)例詳解
欄 目:C語(yǔ)言
下一篇:C++ 中循環(huán)鏈表和約瑟夫環(huán)
本文標(biāo)題:C/C++ 連接MySql數(shù)據(jù)庫(kù)的方法
本文地址:http://mengdiqiu.com.cn/a1/Cyuyan/1446.html
您可能感興趣的文章
- 04-02c語(yǔ)言沒(méi)有round函數(shù) round c語(yǔ)言
- 01-10深入理解C++中常見(jiàn)的關(guān)鍵字含義
- 01-10使用C++實(shí)現(xiàn)全排列算法的方法詳解
- 01-10c++中inline的用法分析
- 01-10用C++實(shí)現(xiàn)DBSCAN聚類(lèi)算法
- 01-10全排列算法的非遞歸實(shí)現(xiàn)與遞歸實(shí)現(xiàn)的方法(C++)
- 01-10C++大數(shù)模板(推薦)
- 01-10淺談C/C++中的static與extern關(guān)鍵字的使用詳解
- 01-10深入C/C++浮點(diǎn)數(shù)在內(nèi)存中的存儲(chǔ)方式詳解
- 01-10深入理解C/C++混合編程


閱讀排行
- 1C語(yǔ)言 while語(yǔ)句的用法詳解
- 2java 實(shí)現(xiàn)簡(jiǎn)單圣誕樹(shù)的示例代碼(圣誕
- 3利用C語(yǔ)言實(shí)現(xiàn)“百馬百擔(dān)”問(wèn)題方法
- 4C語(yǔ)言中計(jì)算正弦的相關(guān)函數(shù)總結(jié)
- 5c語(yǔ)言計(jì)算三角形面積代碼
- 6什么是 WSH(腳本宿主)的詳細(xì)解釋
- 7C++ 中隨機(jī)函數(shù)random函數(shù)的使用方法
- 8正則表達(dá)式匹配各種特殊字符
- 9C語(yǔ)言十進(jìn)制轉(zhuǎn)二進(jìn)制代碼實(shí)例
- 10C語(yǔ)言查找數(shù)組里數(shù)字重復(fù)次數(shù)的方法
本欄相關(guān)
- 04-02c語(yǔ)言函數(shù)調(diào)用后清空內(nèi)存 c語(yǔ)言調(diào)用
- 04-02func函數(shù)+在C語(yǔ)言 func函數(shù)在c語(yǔ)言中
- 04-02c語(yǔ)言的正則匹配函數(shù) c語(yǔ)言正則表達(dá)
- 04-02c語(yǔ)言用函數(shù)寫(xiě)分段 用c語(yǔ)言表示分段
- 04-02c語(yǔ)言中對(duì)數(shù)函數(shù)的表達(dá)式 c語(yǔ)言中對(duì)
- 04-02c語(yǔ)言編寫(xiě)函數(shù)冒泡排序 c語(yǔ)言冒泡排
- 04-02c語(yǔ)言沒(méi)有round函數(shù) round c語(yǔ)言
- 04-02c語(yǔ)言分段函數(shù)怎么求 用c語(yǔ)言求分段
- 04-02C語(yǔ)言中怎么打出三角函數(shù) c語(yǔ)言中怎
- 04-02c語(yǔ)言調(diào)用函數(shù)求fibo C語(yǔ)言調(diào)用函數(shù)求
隨機(jī)閱讀
- 01-11ajax實(shí)現(xiàn)頁(yè)面的局部加載
- 01-11Mac OSX 打開(kāi)原生自帶讀寫(xiě)NTFS功能(圖文
- 01-10SublimeText編譯C開(kāi)發(fā)環(huán)境設(shè)置
- 08-05dedecms(織夢(mèng))副欄目數(shù)量限制代碼修改
- 01-10C#中split用法實(shí)例總結(jié)
- 08-05DEDE織夢(mèng)data目錄下的sessions文件夾有什
- 08-05織夢(mèng)dedecms什么時(shí)候用欄目交叉功能?
- 01-10delphi制作wav文件的方法
- 04-02jquery與jsp,用jquery
- 01-10使用C語(yǔ)言求解撲克牌的順子及n個(gè)骰子