導航:首頁 > 數據處理 > c怎麼連接mysql資料庫

c怎麼連接mysql資料庫

發布時間:2022-12-12 08:51:49

『壹』 c語言怎麼連接mysql資料庫 代碼

//vc工具中添加E:\WAMP\BIN\MYSQL\MYSQL5.5.8\LIB 路徑
//在工程設置-》鏈接》庫模塊中添加 libmysql.lib
#include <stdio.h>
#include <time.h>
#include <string.h>
#include <winsock.h>
#include "E:\wamp\bin\mysql\mysql5.5.8\include\mysql.h"
void main(){
MYSQL *conn;
MYSQL_RES *res;
MYSQL_ROW row;
char *server ="localhost";
char *user ="root";
char *password="";
char *database="test";
char sql[1024]="select * from chinaren";
conn=mysql_init(NULL);
if(!mysql_real_connect(conn,server,user,password,database,0,NULL,0)){
fprintf(stderr,"%s\n",mysql_error(conn));
exit(1);
}
if(mysql_query(conn,sql)){
fprintf(stderr,"%s\n",mysql_error(conn));
exit(1);
}
res=mysql_use_result(conn);
while((row = mysql_fetch_row(res))!=NULL){
printf("%s\n",row[2]);
}
mysql_free_result(res);
mysql_close(conn);
}
===============================
#if defined(_WIN32) || defined(_WIN64) //為了支持windows平台上的編譯
#include <windows.h>
#endif
#include <stdio.h>
#include <stdlib.h>
#include "mysql.h"
//定義資料庫操作的宏,也可以不定義留著後面直接寫進代碼
#define SELECT_QUERY "show tables;"
int main(int argc, char **argv) //char **argv 相當於 char *argv[]
{
MYSQL mysql,*handle; //定義資料庫連接的句柄,它被用於幾乎所有的MySQL函數
MYSQL_RES *result; //查詢結果集,結構類型
MYSQL_FIELD *field ; //包含欄位信息的結構
MYSQL_ROW row ; //存放一行查詢結果的字元串數組
char querysql[160]; //存放查詢sql語句字元串
//初始化
mysql_init(&mysql);
//連接資料庫
if (!(handle = mysql_real_connect(&mysql,"localhost","user","pwd","dbname",0,NULL,0))) {
fprintf(stderr,"Couldn't connect to engine!\n%s\n\n",mysql_error(&mysql));
}
sprintf(querysql,SELECT_QUERY,atoi(argv[1]));
//查詢資料庫
if(mysql_query(handle,querysql)) {
fprintf(stderr,"Query failed (%s)\n",mysql_error(handle));
}
//存儲結果集
if (!(result=mysql_store_result(handle))) {
fprintf(stderr,"Couldn't get result from %s\n", mysql_error(handle));
}
printf("number of fields returned: %d\n",mysql_num_fields(result));
//讀取結果集的內容
while (row = mysql_fetch_row(result)) {
printf("table: %s\n",(((row[0]==NULL)&&(!strlen(row[0]))) ? "NULL" : row[0]) ) ;
}
//釋放結果集
mysql_free_result(result);
//關閉資料庫連接
mysql_close(handle);
system("PAUSE");
//為了兼容大部分的編譯器加入此行
return 0;
}

『貳』 c#利用mysql connector net怎麼連接mysql資料庫

(1)首先需要下載C#訪問MySQL資料庫的ADO.NET驅動程序
mysql-connector-net-6.3.8.msi
(2)安裝mysql-connector-net
然後直接在Windows操作系統安裝 mysql-connector-net-6.3.8.msi
(3)封裝資料庫訪問組件DbConnectionMySQL

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133

/// <summary>
/// MySQL資料庫
/// 版本 mysql-connector-net-6.3.8.msi
/// </summary>
[Serializable]
public class DbConnectionMySQL : DbConnectionWrapper
{
public DbConnectionMySQL(string pConnectionString)
: base(pConnectionString)
{

this.m_dbconn = new MySqlConnection(pConnectionString);
this.m_DbConnState = DbConnState.Free;
}

//--
public override DbDataAdapter GetDbDataAdapter()
{
return new MySqlDataAdapter();
}
public override DbDataAdapter GetDbDataAdapter(DbCommand dbCommand)
{
return new MySqlDataAdapter(dbCommand as MySqlCommand);
}
public override DbCommand GetDbCommand()
{
return new MySqlCommand();
}
public override DbConnection GetDbConnection()
{
return new MySqlConnection();
}
public override DbCommandBuilder GetDbCommandBuilder()
{
return new MySqlCommandBuilder();
}

public override DataProviderType GetCurrentDataProviderType()
{
return DataProviderType.Sql;
}

public override bool IsExistsTable(string TableName, string UserName)
{
#region information
bool rbc = false; //TABLES表中去查詢 table_name
string dSql = "select * from TABLES where table_name='" + TableName + "'";
DataSet ds = this.ExecuteDataSet(dSql);
if (ds != null)
{
if (ds.Tables[0].Rows.Count > 0)
{
rbc = true;
}
else
{
rbc = false;
}
}
else
{
rbc = false;
}
return rbc;
#endregion
}
public override bool IsExistsField(string FieldName, string TableName)
{
#region information
bool rbc = false;
string dSql = "";
dSql = "select * from " + TableName + " where 1<>1";
DataSet ds = this.ExecuteDataSet(dSql);
if (ds != null)
{
DataTable dt = ds.Tables[0];
for (int j = 0; j < dt.Columns.Count; j++)
{
if (dt.Columns[j].ColumnName.ToString().ToUpper() == FieldName.ToString().ToUpper())
{
rbc = true;
goto Return_End;
}
}
dt.Dispose();
dt = null;
}
ds.Dispose();
ds = null;

Return_End:

return rbc;
#endregion
}

public override char ParameterChar
{
get
{
return ':'; //SQLite的參數符號為:
}
}

public override DbParameter CreateParameter(string name, object value)
{
return new MySqlParameter(name, value);
}

public override DbParameter CreateParameter(string name)
{
DbParameter dbp = new MySqlParameter();
dbp.ParameterName = name;
return dbp;
}
public override DbParameter CreateParameter(string name, DbType dbtype, object value)
{
DbParameter dbp = new MySqlParameter();
dbp.ParameterName = name;
dbp.Value = value;
dbp.DbType = dbtype;
return dbp;
}
public override DbParameter CreateParameter(string name, DbType dbtype, int size, object value)
{
DbParameter dbp = new MySqlParameter();
dbp.ParameterName = name;
dbp.Value = value;
dbp.DbType = dbtype;
dbp.Size = size;
return dbp;
}
}

(4)客戶端開發實例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36

public void TestCShape_MySQL()
{
string constr = "server=localhost;User Id=root;password=root;Database=xp_users";
DbConnectionWrapper dbw = new DbConnectionMySQL(constr);
bool rbc=dbw.TestConnection();
this.Context.Response.Write(rbc);

string x = "";
//刪除語句
x = "delete from xp_users";
if (dbw.ExecuteQuery(x) > 0)
{
this.Context.Response.Write("刪除語句成功!下面是<a href="https://www..com/s?wd=SQL%E8%AF%AD%E5%8F%A5&tn=44039180_cpr&fenlei=-bIi4WUvYETgN-" target="_blank" class="-highlight">SQL語句</a>" + x);
}
//插入語句
x = "insert into xp_users(gid,uid,uname,sex,email,pwd) values('";
x += "1','hsg77','何XXX',1,'[email protected]','1')";
if (dbw.ExecuteQuery(x) > 0)
{
this.Context.Response.Write("插入語句成功!下面是<a href="https://www..com/s?wd=SQL%E8%AF%AD%E5%8F%A5&tn=44039180_cpr&fenlei=-bIi4WUvYETgN-" target="_blank" class="-highlight">SQL語句</a>"+x);
}
//查詢語句
DataTable dt = dbw.ExecuteDataTable("select * from xp_users");
if (dt != null && dt.Rows.Count > 0)
{
this.Context.Response.Write("用戶數:"+dt.Rows.Count);
}
if (dt != null)
{
dt.Dispose();
dt = null;
}
dbw.Dispose();
dbw = null;
}

『叄』 怎麼用odbc連接mysql資料庫

首先安裝Mysql資料庫。
然後安裝MySQL
ODBC
驅動
將要連接的MySQL資料庫文件夾復制到MySQL安裝文件夾的DATE目錄下,DATE下的文件名為資料庫名:
1、C:\Program
Files\MySQL\MySQL
Server
5.0\data
2、C:\ProgramData\MySQL\MySQL
Server
5.1\data
根據您的系統可能不能,本人WIN7系統為上面第二個目錄,安裝完成後,我們下一步就創建ODBC數據源,步驟如下:
一、打開控制面板——管理工具——數據源(ODBC)——文件DSN如下圖:
點添加,然後選擇MySQL
ODBC
5.1
Driver
如下圖:
輸入數據源地址及名稱按下一步然後完成數據源的創建,如下圖:
完成創建如下圖:
然後系統會彈出下圖窗口,在Server:中填入本機地址:127.0.0.1,
Port:3306(MySQL默認埠),User:填root(默認用戶名為小寫root),密碼填入安裝時輸入的密碼,database:選擇MySQL資料庫,完成按OK這樣數據源就創建成功!
然後打開Access--外部數據--導入ODBC資料庫—選擇導入新表或鏈接--然後選擇剛剛創建的數據源,也可以在這里新建數據源,方法和前面一樣。
然後輸入密碼,選擇資料庫按OK建立鏈接!

『肆』 用C語言怎麼實現與資料庫的連接

#include<mysql/mysql.h>

#include<stdio.h>

intmain()

{

MYSQL*conn;

MYSQL_RES*res;

MYSQL_ROWrow;

char*server="localhost";//本地連接

char*user="root";//

char*password="525215980";//mysql密碼

char*database="student";//資料庫名

char*query="select*fromclass";//需要查詢的語句

intt,r;

conn=mysql_init(NULL);

if(!mysql_real_connect(conn,server,user,password,database,0,NULL,0))

{

printf("Errorconnectingtodatabase:%s ",mysql_error(conn));

}else{

printf("Connected... ");

}

t=mysql_query(conn,query);

if(t)

{

printf("Errormakingquery:%s ",mysql_error(conn));

}else{

printf("Querymade... ");

res=mysql_use_result(conn);

if(res)

{

while((row=mysql_fetch_row(res))!=NULL)

{

//printf("num=%d ",mysql_num_fields(res));//列數

for(t=0;t<mysql_num_fields(res);t++)

printf("%8s",row[t]);

printf(" ");

}

}

mysql_free_result(res);

}

mysql_close(conn);

return0;

}

(4)c怎麼連接mysql資料庫擴展閱讀

C語言使用注意事項:

1、指針是c語言的靈魂,一定要靈活的使用它:

(1)、指針的聲明,創建,賦值,銷毀等

(2)、指針的類型轉換,傳參,回調等

2、遞歸調用也會經常用到:

(1)、遞歸遍歷樹結構

(2)、遞歸搜索

『伍』 c語言怎麼把鏈表數據寫進mysql

方法如下:
1.頭文件:
#include
#include
#include//這個是必需要包含的,下面對mysql的所有操作函數,都出自這里
2.定義一個MYSQL變數:
MYSQLmysql;
這里MYSQL是一個用於連接MySql資料庫的變數。
在後面對mysql資料庫的操作中,我們就用這個MYSQL變數作為句柄的。
3.定義資料庫參數:
charhost[32]=」localhost」;
charuser[32]=」username」;
charpasswd[32]=」pwd」;
chardbname[32]=」testdb」;
4.資料庫操作
1).初始化資料庫:
mysql_init(&mysql);
2).連接資料庫:
mysql_real_connect(&mysql,host,user,passwd,dbname,0,NULL,0);
我們在操作時,可以對以上的函數進行if測試,如果初始化或者連接出錯,作出相應提示,以便調試。
5.對資料庫的操作:
Mysql_query(&mysql,「select*fromtestdbwherecondition」);
我們在實際操作中,為了更方便的使用程序中的某些變數,我們將會用到一個函數:
intsprintf(char*str,constchar*format,?);
這個函數用來格式化我們的字元串,然後將變數按照給你的格式,賦給第一個參數。
我們使用這個方法方法可以很方便的使用我們的變數來對資料庫進行操作。例如我們將要進行資料庫的查詢操作,我們就可以這樣使用:
sprintf(sql,」select*fromtestdbwhereusername=『%s』」,u_name);
然後使用mysql_query(&mysql,sql)進行查詢。
MySQL是一個關系型資料庫管理系統,由瑞典MySQLAB公司開發,屬於Oracle旗下產品。MySQL是最流行的關系型資料庫管理系統之一,在WEB應用方面,MySQL是最好的RDBMS(,關系資料庫管理系統)應用軟體之一。
鏈表是一種物理存儲單元上非連續、非順序的存儲結構,數據元素的邏輯順序是通過鏈表中的指針鏈接次序實現的。鏈表由一系列結點(鏈表中每一個元素稱為結點)組成,結點可以在運行時動態生成。每個結點包括兩個部分:一個是存儲數據元素的數據域,另一個是存儲下一個結點地址的指針域。相比於線性表順序結構,操作復雜。由於不必須按順序存儲,鏈表在插入的時候可以達到O(1)的復雜度,比另一種線性表順序錶快得多,但是查找一個節點或者訪問特定編號的節點則需要O(n)的時間,而線性表和順序表相應的時間復雜度分別是O(logn)和O(1)。

『陸』 用C語言如何對MySQL資料庫進行操作

有時為了性能,我們會直接用C語言來開發相關的模塊,尤其在我們的web應用中,雖然PHP、JSP等腳本均提供了MySQL的介面,但是顯然直接使用C語言具有更好的安全性和性能,Michael以前用PHP開發的多個項目中就使用了C語言編寫的這類介面,然後再編譯到php裡面,供php腳本直接使用,這方面的話題就不多說了,下面主要說一下在Linux下如何用C語言連接MySQL資料庫,並且讀取裡面的數據返回,同時如何進行編譯。 if defined(_WIN32) || defined(_WIN64)為了支持windows平台上的編譯#include<windows.h#endif#include<stdio.h#include<stdlib.h #includemysql.h 我的機器上該文件在/usr/local/include/mysql下 定義MySQL資料庫操作的宏,也可以不定義留著後面直接寫進代碼 defineSELECT_QUERYselectusernamefromtbb_userwhereuserid=%dintmain(intargc,char**argv)char**argv相當於char*argv[]{MYSQL mysql,*sock;定義資料庫連接的句柄,它被用於幾乎所有的MySQL函數 MYSQL_RES *res;查詢結果集,結構類型 MYSQL_FIELD *fd ;包含欄位信息的結構 MYSQL_ROW row ;存放一行查詢結果的字元串數組 char qbuf[160];存放查詢sql語句字元串 if(argc!=2){//檢查輸入參數 fprintf(stderr,usage:mysql_select<userid\n\n);exit(1);}mysql_init(&mysql);if(!(sock=mysql_real_connect (&mysql,localhost,dbuser,dbpwd,9tmd_bbs_utf8,0,NULL,0))){ fprintf(stderr,Couldn'tconnecttoengine!\n%s\n\n,mysql_error(&mysql));perror();exit(1);}sprintf(qbuf,SELECT_QUERY,atoi(argv[1])); if(mysql_query(sock,qbuf)){ fprintf(stderr,Queryfailed(%s)\n,mysql_error(sock));exit(1);}if(!(res=mysql_store_result(sock))){fprintf(stderr,Couldn'tgetresultfrom%s\n,mysql_error(sock));exit(1);}printf(numberoffieldsreturned:%d\n,mysql_num_fields(res));while(row=mysql_fetch_row(res)){printf(Theruserid#%d'susernameis:%s\n,atoi(argv[1]),(((row[0]==NULL)&&(!strlen(row[0])))?NULL:row[0])); puts(queryok!\n);}mysql_free_result(res); mysql_close(sock);exit(0);return0;為了兼容大部分的編譯器加入此行} 編譯的時候,使用下面的命令 gcc -o mysql_select ./mysql_select.c -I/usr/local/include/mysql -L/usr/local/lib/mysql -lmysqlclient (-lz) (-lm) 後面兩個選項可選,根據您的環境情況運行的時候,執行下面的命令 ./mysql_select 1 將返回如下結果: numberoffieldsreturned:1 Theruserid#1'susernameis:Michaelqueryok!上面的代碼我想大部分都能看明白,不明白的可以參考一下MySQL提供的有關C語言API部分文檔源碼天空 ,各個函數都有詳細說明,有時間我整理一份常用的API說明出來。

『柒』 用C#.net連接MYSQL,怎麼連接還要安裝什麼嗎急!!!

連接MYSQL資料庫的方法及示例
方法一:
使用MYSQL推出的MySQL
Connector/Net
is
an
ADO.NET
driver
for
MySQL
該組件為MYSQL為ADO.NET訪問MYSQL資料庫設計的.NET訪問組件。
安裝完成該組件後,引用命名空間MySql.Data.MySqlClient;
使用命令行編譯時:csc
/r:MySql.Data.dll
test.cs
方法二:
通過ODBC訪問MYSQL資料庫
訪問前要先下載兩個組件:odbc.net和MYSQL的ODBC驅動(MySQL
Connector/ODBC
(MyODBC)
driver)目前為3.51版
安裝完成後,即可通過ODBC訪問MYSQL資料庫
方法三:
使用CoreLab推出的MYSQL訪問組件,面向.NET
安裝完成後,引用命名空間:CoreLab.MySql;
使用命令編譯時:csc
/r:CoreLab.MySql.dll
test.cs
以下為訪問MYSQL資料庫實例
編譯指令:csc
/r:CoreLab.MySql.dll
/r:MySql.Data.dll
test.cs
using
System;
using
System.Net;
using
System.Text;
using
CoreLab.MySql;
using
System.Data.Odbc;
using
MySql.Data.MySqlClient;
class
ConnectMySql
{
public
void
Connect_CoreLab()
{
string
c;
MySqlConnection
mycn
=
new
MySqlConnection(constr);
mycn.Open();
MySqlCommand
mycm
=
new
MySqlCommand("select
*
from
shop",mycn);
MySqlDataReader
msdr
=
mycm.ExecuteReader();
while(msdr.Read())
{
if
(msdr.HasRows)
{
Console.WriteLine(msdr.GetString(0));
}
}
msdr.Close();
mycn.Close();
}
public
void
Connect_Odbc()
{
//string
MyC;
string
MyC
+
"SERVER=localhost;"
+
"DATABASE=test;"
+
"UID=root;"
+
"PASSWORD=qing;"
+
"OPTION=3";
OdbcConnection
MyConn
=
new
OdbcConnection(MyConString);
MyConn.Open();
OdbcCommand
mycm
=
new
OdbcCommand("select
*
from
hello",MyConn);
OdbcDataReader
msdr
=
mycm.ExecuteReader();
while(msdr.Read())
{
if
(msdr.HasRows)
{
Console.WriteLine(msdr.GetString(0));
}
}
msdr.Close();
MyConn.Close();
}
public
void
Connect_Net()
{
string
myC;
MySqlConnection
mycn
=
new
MySqlConnection(myConnectionString);
mycn.Open();
MySqlCommand
mycm
=
new
MySqlCommand("select
*
from
hello",mycn);
MySqlDataReader
msdr
=
mycm.ExecuteReader();
while(msdr.Read())
{
if
(msdr.HasRows)
{
Console.WriteLine(msdr.GetString(0));
}
}
msdr.Close();
mycn.Close();
}
public
static
void
Main()
{
ConnectMySql
ms
=
new
ConnectMySql();
ms.Connect_CoreLab();
ms.Connect_Odbc();
Connect_Net();
}
}

『捌』 怎樣用c/c++編程連接mysql資料庫

庫文件的鏈接: VC++ 6.0直接在工具欄-生成-裡面就有一個鏈接的 或者在文件中直接用這個語句 #pragma comment(lib,「你想用的庫文件.lib」) 格式就是這樣

閱讀全文

與c怎麼連接mysql資料庫相關的資料

熱點內容
什麼是技術設計 瀏覽:890
交易貓怎麼設置不許還價 瀏覽:795
工廠招代理經銷商屬於什麼銷售 瀏覽:523
標題中包含哪些信息 瀏覽:704
如何進入oa程序 瀏覽:316
交通肇事怎麼處理程序 瀏覽:365
中美代理人什麼意思 瀏覽:746
產品怎麼插入表格里 瀏覽:235
個人開增值稅發票要哪些信息 瀏覽:900
交易所系統維護是多久 瀏覽:16
個人承包市場國家有哪些規定 瀏覽:358
傳遞信息怎麼更清晰 瀏覽:482
隱藏正在運行的程序是什麼 瀏覽:614
變電安裝技術總結怎麼寫 瀏覽:484
代理洗漱用品怎麼樣 瀏覽:691
國外農產品電商平台有哪些 瀏覽:951
白石洲到福田農批市場地鐵怎麼走 瀏覽:213
一份市場數據調查多少錢 瀏覽:598
夢幻剛買的好寶寶多久能交易 瀏覽:541
景泰牛肉麵調料怎麼代理 瀏覽:509