前言:上一節(jié)已經(jīng)用VisualStudio2019成功創(chuàng)建和運(yùn)行了ASP項(xiàng)目(https://mp.csdn.net/mp_blog/creation/editor/129413215),下面將進(jìn)行數(shù)據(jù)庫的連接
一,下載驅(qū)動(dòng)庫,根JSP一樣需要一個(gè)Mysql驅(qū)動(dòng)包來支持.NET語言。官網(wǎng)下載鏈接:
https://www.mysql.com/products/connector/
?
二,安裝驅(qū)動(dòng)包?
選擇自定義安裝
?
修改路徑
?點(diǎn)擊OK安裝成功后,找到安裝目錄,拷貝MySql.Data.dll 到項(xiàng)目里面
?
三,打開項(xiàng)目報(bào)錯(cuò)處理
3.1今天打開項(xiàng)目突然出現(xiàn)項(xiàng)目已被卸載,一臉懵,重新打開項(xiàng)目還是沒用,那就找原因吧
3.2 嘗試重新加載項(xiàng)目試試
?3.3 出現(xiàn)正在準(zhǔn)備中
3.4 提示要加載新組件,那就下吧
?
3.5 下載成功后,又提示IIS錯(cuò)誤,沒權(quán)限,想起來上次運(yùn)行需要管理員身份運(yùn)行編輯器
?3.6 已管理員身份運(yùn)行編輯器,成功加載項(xiàng)目
?3.7 切回IIS Express 調(diào)試模式,下次就不會(huì)沒權(quán)限了
四,項(xiàng)目引用dll動(dòng)態(tài)鏈接包
4.1?在解決方案一欄中,右鍵單擊之后再?gòu)棾龅哪夸浿羞x擇添加,然后選擇引用
?
?
4.2 可以看到在引用里面已經(jīng)有了改庫
五,編寫連接數(shù)據(jù)庫代碼
?5.1 先來認(rèn)識(shí)以下index.aspx創(chuàng)建后,自動(dòng)生成另外兩個(gè)文件的作用
- .aspx文件:(頁面)書寫頁面代碼。存儲(chǔ)的是頁面design代碼。只是放各個(gè)控件的代碼,處理代碼一般放在.cs文件中。
- .aspx.cs文件:(代碼隱藏頁)書寫類代碼。存儲(chǔ)的是程序代碼。一般存放與數(shù)據(jù)庫連接和數(shù)據(jù)庫相關(guān)的查詢。更新。刪除操作,還有各個(gè)按鈕單擊后發(fā)生的動(dòng)作等。
- .aspx.designer.cs文件:書寫頁面設(shè)計(jì)代碼。通常存放的是一些頁面控件中的控件的配置信息,就是注冊(cè)控件頁面。這個(gè)東西是窗體設(shè)計(jì)器生成的代碼文件,作用是對(duì)窗體上的控件執(zhí)行初始化工作。
5.2 那我們就在.aspx.cs文件文件里面添加代碼
5.3 運(yùn)行后連接失敗,那就找原因吧
iisexpress.exe Error: 0 : Unable to connect to any of the specified MySQL hosts.
引發(fā)的異常:“MySql.Data.MySqlClient.MySqlException”(位于 MySql.Data.dll 中)
“iisexpress.exe”(CLR v4.0.30319: DefaultDomain): 已加載“C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Drawing\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Drawing.dll”。已跳過加載符號(hào)。模塊進(jìn)行了優(yōu)化,并且調(diào)試器選項(xiàng)“僅我的代碼”已啟用。
程序“[19512] iisexpress.exe”已退出,返回值為 -1 (0xffffffff)。
經(jīng)過不斷嘗試,把端口刪了可以
?
?
六,至此已成功連接上數(shù)據(jù)庫,并查詢用戶表的信息,下面發(fā)下主要源碼
index.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="index.aspx.cs" Inherits="ASPWebProject.WebForm1" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
Hello Word!
</div>
</form>
</body>
</html>
index.aspx.cs文章來源:http://www.zghlxwxcb.cn/news/detail-786494.html
using MySql.Data.MySqlClient;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace ASPWebProject
{
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
GetUsers();
}
private void GetUsers() {
try
{
//本地域名
string HOST_NAME ="localhost";
//端口
string HOST_PORT ="3306";
//本地?cái)?shù)據(jù)庫名字
string DB_NAME ="bdm817514261_db";
//本地?cái)?shù)據(jù)庫的用戶名
string USER = "root";
//本地?cái)?shù)據(jù)庫的用戶名
string PASS = "Aa123456..";
//數(shù)據(jù)庫連接"server=localhost; user id=root; password=;database=cSharp;"
string DB_URL = "server="+ HOST_NAME +":"+ HOST_PORT + "; user id="+ USER + "; password="+ PASS + ";database="+ DB_NAME + ";";
//創(chuàng)建連接
MySqlConnection connection = new MySqlConnection(DB_URL);
//打開數(shù)據(jù)庫
connection.Open();
//實(shí)例化MySqlCommand類并將SQL語句傳遞到連接的數(shù)據(jù)庫中
MySqlCommand command = new MySqlCommand("SELECT uid, username, avatar FROM users", connection);
//執(zhí)行查詢指令后的結(jié)果進(jìn)行讀取
MySqlDataReader reader = command.ExecuteReader();
//獲取數(shù)據(jù)源
string result = "";
while (reader.Read() == true)
{
result += reader["uid"];
result += reader["username"];
result += reader["avatar"];
//輸出日志
Response.Write(result + "<hr>");
}
//關(guān)閉連接
connection.Close();
}
catch (Exception ex)
{
//輸出日志
Response.Write(ex.Message);
}
}
}
}
index.aspx.designer.cs文章來源地址http://www.zghlxwxcb.cn/news/detail-786494.html
//------------------------------------------------------------------------------
// <自動(dòng)生成>
// 此代碼由工具生成。
//
// 對(duì)此文件的更改可能導(dǎo)致不正確的行為,如果
// 重新生成代碼,則所做更改將丟失。
// </自動(dòng)生成>
//------------------------------------------------------------------------------
namespace ASPWebProject
{
public partial class WebForm1
{
/// <summary>
/// form1 控件。
/// </summary>
/// <remarks>
/// 自動(dòng)生成的字段。
/// 若要進(jìn)行修改,請(qǐng)將字段聲明從設(shè)計(jì)器文件移到代碼隱藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
}
}
到了這里,關(guān)于ASP.NET之 用Mysql驅(qū)動(dòng)連接數(shù)據(jù)庫的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!