av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

VS2022連接數(shù)據(jù)庫(kù)MySQL并進(jìn)行基本的表的操作指南

瀏覽:234日期:2023-05-08 10:17:37

vs2022中連接MySQL

1.連接MYSQL

2.添加MySQL的引用

環(huán)境配置

測(cè)試代碼

在vs里面運(yùn)行sql語(yǔ)句

啟動(dòng)vs2022,在菜單欄里面選擇視圖,打開(kāi)服務(wù)器資源管理器

右鍵數(shù)據(jù)連接,點(diǎn)擊添加連接

然后發(fā)現(xiàn)有MySQL選項(xiàng),進(jìn)入里面配置數(shù)據(jù)庫(kù)的相關(guān)信息即可

配置信息

1.server name輸入MySQL的IP地址

localhost即本地

2.然后輸入MySQL的用戶名和密碼

3.Database的內(nèi)容輸入test

添加MySQL的引用

環(huán)境配置

(1)打開(kāi)mysql的安裝包,查看是否有include和lib兩個(gè)文件

(2)打開(kāi)vs2020,新建工程,保存工程文件路徑

(3)將mysql的lib和include文件添加到工程路徑下

(4)打開(kāi)VC++目錄,在包含目錄中,將mysql安裝文件中的include文件的路徑添加到包含目錄

(5)還在屬性頁(yè)上,打開(kāi) C/C++

(6)還是在屬性頁(yè)上,點(diǎn)開(kāi)鏈接器選項(xiàng),點(diǎn)擊常規(guī),將mysql安裝文件夾中的lib文件路徑添加到附加庫(kù)目錄中:

(7)還是在屬性頁(yè)的鏈接器中,點(diǎn)擊第二項(xiàng)輸入,將libmysql.lib文件加進(jìn)來(lái),注意,這里直接把libmysql.lib這個(gè)依賴名加進(jìn)xing,不要加路徑。這個(gè)文件也在mysql安裝文件夾中l(wèi)ib目錄下:

(8)將libmysql.dll放到該文件夾下

測(cè)試代碼

#include <stdio.h>#include <WinSock.h>#include <Windows.h>#include <mysql.h>#include<iostream>using namespace std;MYSQL mysql;  //mysql連接MYSQL_RES* res; //一個(gè)結(jié)果集結(jié)構(gòu)體   MYSQL_ROW row; //char** 二維數(shù)組,存放一條條記錄  const char DataBase_UserName[] = "root";    //數(shù)據(jù)庫(kù)用戶名usernameconst char DataBase_Password[] = "@";   //數(shù)據(jù)庫(kù)密碼,填自己的密碼const char DataBase_Host[] = "localhost";  //數(shù)據(jù)庫(kù)連接地址//注意有時(shí)候使用主機(jī)ip會(huì)報(bào)錯(cuò),此時(shí)可以將ip改為localhostconst char DataBase_Name[] = "test_db";  //database nameunsigned int DataBase_Port = 3306;    //server portbool ConnectDatabase(); //函數(shù)申明void FreeConnect();   //釋放資源void main(){<!--{C}%3C!%2D%2D%20%2D%2D%3E-->ConnectDatabase(); //連接數(shù)據(jù)庫(kù)//查詢數(shù)據(jù)//選擇該數(shù)據(jù)庫(kù)中的一個(gè)表的所有數(shù)據(jù) sheet8 是一個(gè)數(shù)據(jù)表mysql_query(&mysql, "SELECT * from sheet8"); //獲取結(jié)果集res = mysql_store_result(&mysql);//顯示數(shù)據(jù)//給ROW賦值,判斷ROW是否為空,不為空就打印數(shù)據(jù)。while (row = mysql_fetch_row(res)){<!--{C}%3C!%2D%2D%20%2D%2D%3E-->printf("%s ", row[0]);//打印IDprintf("%s ", row[1]);//打印IDcout << endl;}getchar();}bool ConnectDatabase(){<!--{C}%3C!%2D%2D%20%2D%2D%3E-->//初始化mysqlmysql_init(&mysql);   //連接mysql,數(shù)據(jù)庫(kù)if (!(mysql_real_connect(&mysql, DataBase_Host, DataBase_UserName, DataBase_Password, DataBase_Name, DataBase_Port, NULL, 0))) //中間分別是主機(jī),用戶名,密碼,數(shù)據(jù)庫(kù)名,端口號(hào)(可以寫默認(rèn)0或者3306等),可以先寫成參數(shù)再傳進(jìn)去{<!--{C}%3C!%2D%2D%20%2D%2D%3E-->printf("Error connecting to database:%s\n", mysql_error(&mysql));return false;}else{<!--{C}%3C!%2D%2D%20%2D%2D%3E-->MessageBoxA(NULL, "連接MYSQL數(shù)據(jù)成功!", "消息", MB_OK);printf("Connected...\n");return true;}}//釋放資源void FreeConnect(){<!--{C}%3C!%2D%2D%20%2D%2D%3E-->//釋放資源//mysql_free_result(res);mysql_close(&mysql);}

使用DataGridView控件顯示數(shù)據(jù)庫(kù)中的數(shù)據(jù) 核心代碼

private void AllSearch_Load(object sender, EventArgs e){MySqlConnection conn;string constr = "server=localhost;database=data;uid=choujieyun;pwd=12345678;";conn = new MySqlConnection(constr);conn.Open();MySqlCommand co = new MySqlCommand("select * from 表名;", conn);MySqlDataAdapter adapt = new MySqlDataAdapter();adapt.SelectCommand = co;DataSet ds = new DataSet();adapt.Fill(ds, "學(xué)生表");    dataGridView1.DataSource = ds.Tables["學(xué)生表"];DataSet ds = new DataSet();adapt.Fill(ds, "課程表"); dataGridView1.DataSource = ds.Tables["課程表"]; DataSet ds = new DataSet();adapt.Fill(ds, "教師表"); dataGridView1.DataSource = ds.Tables["教師表"]; DataSet ds = new DataSet();adapt.Fill(ds, "成績(jī)表"); dataGridView1.DataSource = ds.Tables["成績(jī)表"];conn.Close();}

1.學(xué)生表

2.課程表

3.教師表

4.成績(jī)表

實(shí)現(xiàn)基本的crud操作

核心代碼:

//引入的命名空間using?System.Data.SqlClient;//用于SQL?Sever數(shù)據(jù)訪問(wèn)的命名空間using?System.Data;???????????????//DataSet類的命名空間using?System.Windows.Forms;??//DataGridView控件類的命名空間//數(shù)據(jù)庫(kù)查詢//執(zhí)行指定的SQL命令語(yǔ)句(insert,delete,update等),并返回命令所影響的行數(shù)public?static?int?executeCommand(string?sqlStr){????SqlConnection?sqlConnection1?=?new?SqlConnection("server=dell-PC;database=11071312HotelSys;uid=sa;pwd=xiaoyi9421");//創(chuàng)建數(shù)據(jù)庫(kù)連接(字符串中是我個(gè)人的數(shù)據(jù)庫(kù)信息)????sqlConnection1.Open();??????//打開(kāi)數(shù)據(jù)庫(kù)連接????SqlCommand?sqlCommand1?=?new?SqlCommand(sqlStr,?sqlConnection1);??//執(zhí)行SQL命令????int?Succnum?=?sqlCommand1.ExecuteNonQuery();????return?Succnum;}//查詢(select)指定的數(shù)據(jù)記錄(多行多列),并填充到數(shù)據(jù)控件DataGridView中public?static?void?queryDataToGrid(string?sqlStr,?DataGridView?dataGridView1){????SqlConnection?sqlConnection1?=?new?SqlConnection("server=dell-PC;database=11071312HotelSys;uid=sa;pwd=xiaoyi9421");//創(chuàng)建數(shù)據(jù)庫(kù)連接????SqlDataAdapter?sqlDataAdapter1?=?new?SqlDataAdapter(sqlStr,?sqlConnection1);//利用已創(chuàng)建好的sqlConnection1,創(chuàng)建數(shù)據(jù)適配器sqlDataAdapter1????DataSet?dataSet1?=?new?DataSet();??//創(chuàng)建數(shù)據(jù)集對(duì)象????sqlDataAdapter1.Fill(dataSet1);????//執(zhí)行查詢,查詢的結(jié)果存放在數(shù)據(jù)集里????dataGridView1.DataSource?=?dataSet1.Tables[0];?//把數(shù)據(jù)集中的查詢結(jié)果綁定dataGridView1中}//查詢(select)指定的數(shù)據(jù)(單個(gè)數(shù)據(jù),假設(shè)為string類型),并返回public?static?string?queryData(string?sqlStr){????SqlConnection?sqlConnection1?=?new?SqlConnection("server=dell-PC;database=11071312HotelSys;uid=sa;pwd=xiaoyi9421");//創(chuàng)建數(shù)據(jù)庫(kù)連接????SqlDataAdapter?sqlDataAdapter1?=?new?SqlDataAdapter(sqlStr,?sqlConnection1);//利用已創(chuàng)建好的sqlConnection1,創(chuàng)建數(shù)據(jù)適配器sqlDataAdapter1????DataSet?dataSet1?=?new?DataSet();??//創(chuàng)建數(shù)據(jù)集對(duì)象????sqlDataAdapter1.Fill(dataSet1);????//執(zhí)行查詢,查詢的結(jié)果存放在數(shù)據(jù)集里????return?dataSet1.Tables[0].Rows[0]["列名"].ToString();?//把查詢結(jié)果的第一行指定列下的數(shù)據(jù)以string類型返回}//數(shù)據(jù)庫(kù)添加private?void?btn_add_Click(object?sender,?EventArgs?e)????????{????????????string?sql?=?"insert?into?課程表(CourseId,CourseName,Teald)?values(‘0004",‘物理",‘0004");????????????????int?i=help.changeSqlData(sql);????????????if?(i?==?0)?MessageBox.Show("添加失敗",?"提示:");????????????else?MessageBox.Show("添加成功",?"提示:");????????}//數(shù)據(jù)庫(kù)刪除private?void?btn_delete_Click(object?sender,?EventArgs?e)? ? ? ? {????????????string?sql?=?"delete?from 學(xué)生表?where StuId="0008";????????????int?i=help.changeSqlData(sql);????????????if?(i?==?0)?MessageBox.Show("刪除失敗",?"提示:");????????????else?MessageBox.Show("刪除成功",?"提示:");????????}//數(shù)據(jù)庫(kù)修改private?void?btn_update_Click(object?sender,?EventArgs?e)? ? ? ? {????????????string?sql?=?"update 學(xué)生表?set StuAge="19" where StuId="0008";????????????int?i?=?help.changeSqlData(sql);????????????if?(i?==?0)?MessageBox.Show("修改失敗",?"提示:");????????????else?MessageBox.Show("修改成功",?"提示:");????????}

增加一行數(shù)據(jù)(課程表中增加一行數(shù)據(jù))

刪除一行數(shù)據(jù)(刪除學(xué)生表中的一行數(shù)據(jù))

修改一條數(shù)據(jù)(將學(xué)生表中的一條數(shù)據(jù)修改)

查詢某一條數(shù)據(jù)(查詢成績(jī)表中學(xué)號(hào)為0005的同學(xué)的成績(jī))

實(shí)驗(yàn)總結(jié):

本次實(shí)驗(yàn)通過(guò)使用C#連接數(shù)據(jù)庫(kù)MySQL,并且使用控件dataGridView控件顯示表中的數(shù)據(jù),實(shí)現(xiàn)基本的增刪改查等數(shù)據(jù)庫(kù)操作,在本次實(shí)驗(yàn)連接數(shù)據(jù)庫(kù)操作的過(guò)程中出現(xiàn)vs2022無(wú)法添加MySQL數(shù)據(jù)庫(kù)的問(wèn)題,最后在網(wǎng)上找到解決方案,添加數(shù)據(jù)庫(kù)成功,在進(jìn)行數(shù)據(jù)的增刪改查的操作時(shí),也出現(xiàn)了數(shù)據(jù)庫(kù)的報(bào)錯(cuò),無(wú)法執(zhí)行操作,導(dǎo)致無(wú)法呈現(xiàn)正確的結(jié)果,在經(jīng)過(guò)一番代碼的修改,調(diào)式后終于正常顯示結(jié)果。

總結(jié)

到此這篇關(guān)于VS2022連接數(shù)據(jù)庫(kù)MySQL并進(jìn)行基本的表的操作指南的文章就介紹到這了,更多相關(guān)VS2022連接MySQL內(nèi)容請(qǐng)搜索以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持!

標(biāo)簽: MySQL
主站蜘蛛池模板: 欧美a级成人淫片免费看 | 蜜桃视频一区二区三区 | 亚洲精品电影在线观看 | 日韩成人免费 | 国产一区二区三区在线 | 欧美电影在线观看网站 | 韩日一区二区 | 黄色精品| 欧美日韩精品区 | 色综合视频 | 逼逼网 | 草樱av | 在线免费观看a级片 | 欧美激情在线一区二区三区 | 国产精品久久久久久238 | 一区二区三区四区不卡 | 国产一级一级毛片 | a级毛片毛片免费观看久潮喷 | 亚洲福利在线观看 | 国产精品国产成人国产三级 | 国产视频二区在线观看 | 国产在线精品一区二区 | 国产小视频在线 | 一区中文字幕 | 欧美国产亚洲一区二区 | 国产区视频在线观看 | 色黄爽 | 欧美激情va永久在线播放 | 成人影音| 欧美激情黄色 | www.狠狠干 | 日韩免费看视频 | 国产精品久久久久一区二区三区 | 久草视频网站 | 午夜影院 | 欧美日韩精品中文字幕 | 久久久久国产一区二区三区四区 | 久久久久久国产 | 亚洲欧美一区二区三区在线 | 欧美成人在线免费 | 日日干日日操 |