sử dụng
Hệ thống;
sử dụng
Hệ thống.Bộ sưu tập.Chung;
sử dụng
Hệ thống.Dữ liệu;
sử dụng
MySql.Data.MySqlClient;
công cộng
lớp học
Trợ giúp MySQL {
riêng tư
sợi dây
chuỗi kết nối;
công cộng
Trợ giúp MySQL(
sợi dây
chuỗi kết nối) {
cái này
.connectionString =
chuỗi kết nối; }
//
Thực thi các câu lệnh SQL không trả về tập kết quả
công cộng
số nguyên
Thực thiKhông phảiTruy vấn(
sợi dây
lệnh sql,
tham số
MySqlParameter[] tham số) {
sử dụng
(Kết nối MySqlConnection =
mới
MySqlConnection(chuỗi kết nối)) {
sử dụng
(Lệnh MySqlCommand =
mới
MySqlCommand(sql, kết nối)) {
//
Thêm thông số
lệnh.Parameters.AddRange(tham số);
//
kết nối mở
kết nối.Mở();
//
Thực thi câu lệnh SQL và trả về số hàng bị ảnh hưởng
trở lại
lệnh.ExecuteNonQuery(); } } }
//
Thực hiện truy vấn và trả về cột đầu tiên của hàng đầu tiên trong tập kết quả
công cộng
sự vật
Thực hiệnScalar(
sợi dây
lệnh sql,
tham số
MySqlParameter[] tham số) {
sử dụng
(Kết nối MySqlConnection =
mới
MySqlConnection(chuỗi kết nối)) {
sử dụng
(Lệnh MySqlCommand =
mới
MySqlCommand(sql, kết nối)) {
//
Thêm thông số
lệnh.Parameters.AddRange(tham số);
//
kết nối mở
kết nối.Mở();
//
Thực hiện truy vấn SQL và trả về giá trị của hàng đầu tiên và cột đầu tiên
trở lại
lệnh.ExecuteScalar(); } } }
//
Thực hiện truy vấn và trả về tập kết quả
công cộng
Thực thi truy vấn dữ liệu bảng(
sợi dây
lệnh sql,
tham số
MySqlParameter[] tham số) {
sử dụng
(Kết nối MySqlConnection =
mới
MySqlConnection(chuỗi kết nối)) {
sử dụng
(Lệnh MySqlCommand =
mới
MySqlCommand(sql, kết nối)) {
//
Thêm thông số
lệnh.Parameters.AddRange(tham số);
//
kết nối mở
kết nối.Mở();
//
Tạo các đối tượng DataAdapter và DataTable và điền dữ liệu vào chúng
sử dụng
(Bộ điều hợp MySqlDataAdapter =
mới
MySqlDataAdapter(lệnh)) { DataTable dataTable
=
mới
Bộ điều hợp DataTable(); Điền(DataTable);
trở lại
Bảng dữ liệu; } } } }
//
Thực hiện truy vấn và ánh xạ tập kết quả vào danh sách các đối tượng
công cộng
Danh sách Thực thiTruy vấn(
sợi dây
sql, bộ chọn Func,
tham số
MySqlParameter[] tham số) {
sử dụng
(Kết nối MySqlConnection =
mới
MySqlConnection(chuỗi kết nối)) {
sử dụng
(Lệnh MySqlCommand =
mới
MySqlCommand(sql, kết nối)) {
//
Thêm thông số
lệnh.Parameters.AddRange(tham số);
//
kết nối mở
kết nối.Mở();
//
Tạo đối tượng DataReader và đọc dữ liệu, ánh xạ từng hàng dữ liệu vào đối tượng và thêm nó vào danh sách
sử dụng
(Trình đọc MySqlDataReader =
command.ExecuteReader()) { Danh sách
danh sách =
mới
Danh sách
();
trong khi
(reader.Read()) { list.Add(selector(reader)); }
trở lại
danh sách; } } } }
//
Chèn dữ liệu vào cơ sở dữ liệu
công cộng
số nguyên
Chèn(
sợi dây
tableName, Từ điển<
sợi dây
,
sự vật
>
dữ liệu) {
sợi dây
[] cột =
mới
sợi dây
[dữ liệu. Đếm];
sự vật
[] giá trị =
mới
sự vật
[dữ liệu. Đếm];
số nguyên
tôi =
0
;
foreach
(Cặp giá trị khóa<
sợi dây
,
sự vật
> mục
TRONG
dữ liệu) {
//
Nhận tên và giá trị cột
cột[i] =
item.Key; giá trị[i]
=
mục.Giá trị; tôi
++
; }
sợi dây
sql =
sợi dây
.Định dạng(
"
CHÈN VÀO {0} ({1}) GIÁ TRỊ ({2})
"
, tên bảng,
sợi dây
.Tham gia(
"
,
"
, cột),
"
@
"
+
sợi dây
.Tham gia(
"
,@
"
, cột));
//
Chuyển đổi từ điển sang mảng MySqlParameter và thực thi câu lệnh SQL
trở lại
Thực thiNonQuery(sql, ToMySqlParameters(dữ liệu)); }
//
Cập nhật dữ liệu vào cơ sở dữ liệu
công cộng
số nguyên
Cập nhật(
sợi dây
tableName, Từ điển<
sợi dây
,
sự vật
> dữ liệu,
sợi dây
trong đóClause =
""
) {
sợi dây
[] đặt giá trị =
mới
sợi dây
[dữ liệu. Đếm];
số nguyên
tôi =
0
;
foreach
(Cặp giá trị khóa<
sợi dây
,
sự vật
> mục
TRONG
dữ liệu) {
//
Nhận tên và giá trị cột
đặtGiá Trị[i] =
sợi dây
.Định dạng(
"
{0}=@{0}
"
, mục.Key); i
++
; }
sợi dây
sql =
sợi dây
.Định dạng(
"
CẬP NHẬT {0} ĐẶT {1}
"
, tên bảng,
sợi dây
.Tham gia(
"
,
"
, đặt giá trị));
nếu như
(!
sợi dây
.IsNullOrEmpty(whereClause)) { sql
+=
"
Ở ĐÂU
"
+
whereClause; }
//
Chuyển đổi từ điển sang mảng MySqlParameter và thực thi câu lệnh SQL
trở lại
Thực thiNonQuery(sql, ToMySqlParameters(dữ liệu)); }
//
Xóa dữ liệu trong cơ sở dữ liệu
công cộng
số nguyên
Xóa bỏ(
sợi dây
tên bảng,
sợi dây
trong đóClause =
""
) {
sợi dây
sql =
sợi dây
.Định dạng(
"
XÓA TỪ {0}
"
, Tên bảng);
nếu như
(!
sợi dây
.IsNullOrEmpty(whereClause)) { sql
+=
"
Ở ĐÂU
"
+
whereClause; }
//
Thực thi các câu lệnh SQL và trả về tác động
trở lại
Thực thiKhôngtruy vấn(sql); }
//
Chuyển đổi từ điển sang mảng MySqlParameter
riêng tư
MySqlParameter[] ToMySqlParameters(Từ điển<
sợi dây
,
sự vật
>
dữ liệu) { Danh sách
tham số =
mới
Danh sách
();
foreach
(Cặp giá trị khóa<
sợi dây
,
sự vật
> mục
TRONG
dữ liệu) { tham số.Thêm(
mới
Tham số MySql(
"
@
"
+
mục.Khóa, mục.Giá trị)); }
trở lại
tham số.ToArray(); } }
Tôi là một lập trình viên xuất sắc, rất giỏi!