前言:上一节已经用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文章来源:https://www.toymoban.com/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";
//本地数据库名字
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文章来源地址https://www.toymoban.com/news/detail-786494.html
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace ASPWebProject
{
public partial class WebForm1
{
/// <summary>
/// form1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
}
}
到了这里,关于ASP.NET之 用Mysql驱动连接数据库的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!