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
Tôi đã chèn vài bản ghi vào bảng
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
Chuỗi kết nối MySql
Dưới đây là chuỗi kết nối đến Cơ sở dữ liệu MySql
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
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
Chọn mẫu Ứng dụng web và Không xác thực
Dự án mới sẽ được tạo
Nhấn F5 để chạy ứng dụng
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
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.
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
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