Kết nối mạng asp với MySQL

Trong bài viết này tôi sẽ giải thích cách sử dụng và kết nối với cơ sở dữ liệu MySQL trong ASP. Net với sự trợ giúp của MySQLConnector sử dụng C# và VB. Mạng lưới

Đối với bài viết này, tôi sẽ điền vào điều khiển GridView với các bản ghi từ Cơ sở dữ liệu MySQL

 

cơ sở dữ liệu

Tôi đã sử dụng bảng sau Khách hàng với lược đồ như sau

Kết nối mạng asp với MySQL

 

Tôi đã chèn vài bản ghi vào bảng

Kết nối mạng asp với MySQL

 

Lưu ý . SQL để tạo Bảng được cung cấp trong mã mẫu đính kèm.

 

 

Tải xuống và cài đặt Trình kết nối MySQL

Bạn sẽ cần tải xuống và cài đặt MySQLConnector để kết nối với cơ sở dữ liệu MySQL trong ASP. Mạng lưới

Tải xuống Trình kết nối MySQL

Sau khi cài đặt hoàn tất, bạn cần mở Windows Explorer và tìm bản cài đặt MySql trong thư mục Tệp chương trình của ổ đĩa Windows của bạn

Ở đó bạn sẽ tìm thấy một thư mục dành cho Trình kết nối MySQL và bên trong đó bạn sẽ tìm thấy MySql. Dữ liệu. dll mà bạn cần sao chép vào thư mục BIN của dự án của bạn

Kết nối mạng asp với MySQL

 

 

Chuỗi kết nối MySql

Dưới đây là chuỗi kết nối đến Cơ sở dữ liệu MySql

<chuỗi kết nối>

    <thêm tên=" constr" connectionString="Data Source=localhost;port=3306;Initial Catalog=SampleDB;User Id=mudassar;password=pass@123"/>

chuỗi kết nối>connectionStrings>

 

 

không gian tên

Bạn sẽ cần nhập các không gian tên sau

C#

sử dụng Hệ thống. Dữ liệu;

sử dụng Hệ thống. cấu hình;

sử dụng MySql. Dữ liệu. MySqlClient;

 

VB. Mạng lưới

Nhập Hệ thống. Dữ liệu

Nhập Hệ thống. Cấu hình

Nhập MySql. Dữ liệu. MySqlClient

 

 

Liên kết GridView với các bản ghi từ Bảng cơ sở dữ liệu MySQL

Nếu bạn biết về ADO. Net thì việc sử dụng MySql sẽ đơn giản hơn rất nhiều vì các lớp Trình kết nối MySql có tên rất giống với tên của ADO. lớp mạng. Ví dụ trong ADO. Net chúng ta có lớp SqlConnection và lớp tương ứng trong MySql là MySqlConnection

Bên trong sự kiện Tải trang của trang, tôi đang điền vào điều khiển GridView các bản ghi từ cơ sở dữ liệu MySql bằng DataTable

Ghi chú. Nếu cơ sở dữ liệu MySql của bạn được tạo khi bật Cho phép truy cập cơ sở dữ liệu trực tiếp, bạn có thể kết nối với cơ sở dữ liệu từ máy tính phát triển của mình. Nếu bạn không bật Cho phép truy cập cơ sở dữ liệu trực tiếp, MySql của bạn đang ở trong một môi trường an toàn và bạn không thể kết nối với cơ sở dữ liệu từ máy tính phát triển của mình. Kết nối chỉ có thể thành công khi mã của bạn được triển khai tới trang web lưu trữ

Hướng dẫn này cho thấy cách đọc thông tin từ cơ sở dữ liệu MySQL Sakila trong ASP. NET Core bằng Trình kết nối/NET Core để khám phá khả năng chạy ứng dụng này trên mọi. NET Core hỗ trợ môi trường như Windows, Linux và Mac

điều kiện tiên quyết
  • Máy chủ MySQL 5. 7
  • .NET Core 1.1 environment installed
    https. //www. Microsoft. com/net/lõi
  • Visual Studio 2015 hoặc Visual Studio Code
  • Cơ sở dữ liệu mẫu Sakila
    http. // nhà phát triển. mysql. com/doc/sakila/en/sakila-installation. html
Windows và Visual Studio 2015

Bước đầu tiên là tạo một ASP. NET Core ứng dụng web (. NET Core) nhập dự án và đặt tên là MvcSakilaCore

Ghi chú. tên dự án không được chứa khoảng trắng

 

Kết nối mạng asp với MySQL

Chọn mẫu Ứng dụng web và Không xác thực

Kết nối mạng asp với MySQL

Dự án mới sẽ được tạo

Kết nối mạng asp với MySQL

Nhấn F5 để chạy ứng dụng

Kết nối mạng asp với MySQL

Dừng ứng dụng đang chạy để thêm một số mã

Tạo mô hình dữ liệu

Tạo một thư mục mới có tên là “Mô hình”, nơi nó sẽ lưu trữ quyền truy cập cơ sở dữ liệu

Kết nối mạng asp với MySQL

Cài đặt gói MySQL Connector/NET Core

Để sử dụng MySQL Connector/NET, cần phải thêm gói nuget của nó

Trong Solution Explorer, nhấp chuột phải vào dự án MvcSakilaCore > Quản lý gói NuGet…
Trong hộp thoại NuGet, Duyệt qua “MySql. Data” sử dụng phiên bản 6. 10. 0 trở lên.

Kết nối mạng asp với MySQL

Thêm chuỗi kết nối

Thêm chuỗi kết nối của bạn trong cài đặt ứng dụng. tập tin json

Kết nối mạng asp với MySQL

Thêm các lớp mô hình dữ liệu

Đối với ví dụ này, một lớp Phim sẽ được sử dụng. Nó chứa các trường cơ sở dữ liệu dưới dạng thuộc tính mà chúng tôi muốn hiển thị trong ứng dụng của mình

Thêm một lớp mới có tên “Phim” bên trong thư mục Mô hình

using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Configuration;
using MySql.Data.MySqlClient;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

namespace MvcSakilaCore.Models
{
  public class Film
  {
    private SakilaContext context;

    public int FilmId { get; set; }

    public string Title { get; set; }

    public string Description { get; set; }

    public int ReleaseYear { get; set; }

    public int Length { get; set; }

    public string Rating { get; set; }
  }
}

Tạo một lớp SakilaContext mới chứa các kết nối và thực thể cơ sở dữ liệu Sakila

using MySql.Data.MySqlClient;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.Extensions.DependencyInjection;

namespace MvcSakilaCore.Models
{
  public class SakilaContext
  {
    public string ConnectionString { get; set; }

    public SakilaContext(string connectionString)
    {
      this.ConnectionString = connectionString;
    }

    private MySqlConnection GetConnection()
    {
      return new MySqlConnection(ConnectionString);
    }

    public List GetAllFilms()
    {
      List list = new List();

      using (MySqlConnection conn = GetConnection())
      {
        conn.Open();
        MySqlCommand cmd = new MySqlCommand("SELECT * FROM film", conn);
        using (MySqlDataReader reader = cmd.ExecuteReader())
        {
          while (reader.Read())
          {
            list.Add(new Film()
            {
              FilmId = reader.GetInt32("film_id"),
              Title = reader.GetString("title"),
              Description = reader.GetString("description"),
              ReleaseYear = reader.GetInt32("release_year"),
              Length = reader.GetInt32("length"),
              Rating = reader.GetString("rating")
            });
          }
        }
      }

      return list;
    }
  }
}

Để có thể sử dụng SakilaContext của chúng tôi, cần phải đăng ký phiên bản dưới dạng dịch vụ trong ứng dụng của chúng tôi. Để thực hiện việc này, hãy thêm dòng mã vào Khởi động. tập tin cs

Bạn có thể kết nối C# với MySQL không?

Kết nối C# với MySQL . Vì vậy, trước khi ứng dụng của bạn có thể giao tiếp với máy chủ, nó phải khởi tạo, định cấu hình và mở một đối tượng MySqlConnection. All the communication between a C# application and the MySQL server is routed through a MySqlConnection Object. So, before your application can communicate with the server, it must instantiate, configure, and open a MySqlConnection object.

Làm. NET có hoạt động với MySQL không?

MySQL Connector/NET cho phép bạn phát triển. Các ứng dụng NET yêu cầu kết nối dữ liệu an toàn, hiệu suất cao với MySQL .

Bạn có thể kết nối MySQL với Visual Studio không?

Để tạo kết nối tới cơ sở dữ liệu MySQL hiện có. Khởi động Visual Studio và mở Server Explorer bằng cách nhấp vào Server Explorer từ menu View. Nhấp chuột phải vào nút Kết nối dữ liệu rồi chọn Thêm kết nối .