ASP.NET之 用Mysql驱动连接数据库

该文详细介绍了如何在VisualStudio2019中处理项目错误,安装Mysql驱动,将MySql.Data.dll添加到项目引用,以及编写C#代码连接和查询MySQL数据库的过程。在遇到IISExpress权限问题时,以管理员身份运行编辑器解决了问题。
摘要由CSDN通过智能技术生成

前言:上一节已经用VisualStudio2019成功创建和运行了ASP项目(https://mp.csdn.net/mp_blog/creation/editor/129413215),下面将进行数据库的连接

一,下载驱动库,根JSP一样需要一个Mysql驱动包来支持.NET语言。官网下载链接:

https://www.mysql.com/products/connector/

 

二,安装驱动包 

选择自定义安装

 

修改路径

 点击OK安装成功后,找到安装目录,拷贝MySql.Data.dll 到项目里面

 

三,打开项目报错处理

3.1今天打开项目突然出现项目已被卸载,一脸懵,重新打开项目还是没用,那就找原因吧

3.2 尝试重新加载项目试试

 3.3 出现正在准备中

3.4 提示要加载新组件,那就下吧

 

3.5 下载成功后,又提示IIS错误,没权限,想起来上次运行需要管理员身份运行编辑器

 3.6 已管理员身份运行编辑器,成功加载项目

 3.7 切回IIS Express 调试模式,下次就不会没权限了

四,项目引用dll动态链接包

4.1 在解决方案一栏中,右键单击之后再弹出的目录中选择添加,然后选择引用

 

 

4.2 可以看到在引用里面已经有了改库

五,编写连接数据库代码

 5.1 先来认识以下index.aspx创建后,自动生成另外两个文件的作用

  • .aspx文件:(页面)书写页面代码。存储的是页面design代码。只是放各个控件的代码,处理代码一般放在.cs文件中。
  • .aspx.cs文件:(代码隐藏页)书写类代码。存储的是程序代码。一般存放与数据库连接和数据库相关的查询。更新。删除操作,还有各个按钮单击后发生的动作等。
  • .aspx.designer.cs文件:书写页面设计代码。通常存放的是一些页面控件中的控件的配置信息,就是注册控件页面。这个东西是窗体设计器生成的代码文件,作用是对窗体上的控件执行初始化工作。

5.2 那我们就在.aspx.cs文件文件里面添加代码

5.3 运行后连接失败,那就找原因吧

iisexpress.exe Error: 0 : Unable to connect to any of the specified MySQL hosts.
引发的异常:“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”。已跳过加载符号。模块进行了优化,并且调试器选项“仅我的代码”已启用。
程序“[19512] iisexpress.exe”已退出,返回值为 -1 (0xffffffff)。

经过不断尝试,把端口删了可以

 

 

六,至此已成功连接上数据库,并查询用户表的信息,下面发下主要源码

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

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";
                //本地数据库名字
                string DB_NAME ="bdm817514261_db";
                //本地数据库的用户名
                string USER = "root";
                //本地数据库的用户名
                string PASS = "Aa123456..";

                //数据库连接"server=localhost; user id=root; password=;database=cSharp;"
                string DB_URL = "server="+ HOST_NAME +":"+ HOST_PORT + "; user id="+ USER + "; password="+ PASS + ";database="+ DB_NAME + ";";
                //创建连接
                MySqlConnection connection = new MySqlConnection(DB_URL);
                //打开数据库
                connection.Open();
                //实例化MySqlCommand类并将SQL语句传递到连接的数据库中
                MySqlCommand command = new MySqlCommand("SELECT uid, username, avatar FROM users", connection);
                //执行查询指令后的结果进行读取
                MySqlDataReader reader = command.ExecuteReader();
                //获取数据源
                string result = "";
           
                while (reader.Read() == true)
                {
                    result += reader["uid"];
                    result += reader["username"];
                    result += reader["avatar"];
                    //输出日志
                    Response.Write(result + "<hr>");
                }

                //关闭连接
                connection.Close();
            }
            catch (Exception ex)
            {
                //输出日志
                Response.Write(ex.Message);
            }
          
        }
    }
}

index.aspx.designer.cs

//------------------------------------------------------------------------------
// <自动生成>
//     此代码由工具生成。
//
//     对此文件的更改可能导致不正确的行为,如果
//     重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------

namespace ASPWebProject
{


    public partial class WebForm1
    {

        /// <summary>
        /// form1 控件。
        /// </summary>
        /// <remarks>
        /// 自动生成的字段。
        /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::System.Web.UI.HtmlControls.HtmlForm form1;
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值