membuat contoh ini karena saya tidak dapat menemukan penjelasan sederhana untuk menggunakan MySQL 5 dengan ObjectDataSources di ASP.NET 2.0.
Perkenalan
saya membuat contoh ini karena saya tidak dapat menemukan penjelasan sederhana untuk menggunakan MySQL 5 dengan ObjectDataSources di ASP.NET 2.0.
izinkan saya mengatakan, saya sangat terkesan dengan MySQL. Saya dapat menginstalnya dengan mudah di mesin Windows XP saya dan menjalankannya dalam waktu sekitar satu jam. Saya sudah lama menjadi pengguna MS SQL, dan sangat frustrasi saat mencoba menggunakan Oracle dan Firebird. Saya menyadari, masalahnya adalah saya dimanjakan dari MS SQL Server, tapi hei saya sibuk dan saya suka alat yang mudah digunakan :)
jika Anda baru memulai dengan MySQL dan ASP.NET, saya sarankan langkah-langkah ini:
Buka ke situs web MySQL, unduh dan instal "Rilis Saat Ini (disarankan)".
Unduh dan instal: Administrator MySQL (untuk mengelola server MySQL Anda, unduhan pertama cukup menginstal server saja).
Unduh dan instal: Connector/Net 1.0 (Anda memerlukan ini agar halaman ASP.NET Anda dapat berkomunikasi dengan server MySQL Anda).
Anda juga dapat mengunduh: MySQL Query Browser – (klien grafis untuk bekerja dengan database MySQL Anda dan menjalankan kueri).
Baca dan ikuti panduan ini: Panduan Langkah demi Langkah Menggunakan MySQL dengan ASP.NET.
Untuk menginstal kode:
Anda harus mengaktifkan dan menjalankan MySQL 5.
Instal Konektor MySQL/Net 1.0.
Buat database MySQL 5 bernama Tes.
Buat tabel di database itu bernama Pesan:
CREATE TABLE test.message ( Entry_ID INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, Nama VARCHAR(45), Email VARCHAR(45), Pesan VARCHAR(200), PRIMARY KEY (Entry_ID) ) AUTO_INCREMENT=32 CHARACTER SET latin1 COLLATE latin1_swedish_ci;
Buat empat prosedur tersimpan MySQL ini di database Test:
PROSEDUR `test`.`DeleteMessage`(IN param1 INT)BEGINHapus Dari test.messageWHERE Entry_ID = param1;END
PROSEDUR `test`.`InsertMessage`(IN param1 VARCHAR(50), IN param2 VARCHAR(50), IN param3 VARCHAR(200))BEGININSERT INTO message(Nama, Email, Pesan)VALUES(param1,param2,param3);END
PROSEDUR `test`.`ShowAll`()BEGINSELECT pesan.Entry_ID, pesan.Nama, pesan.Email, pesan.MessageFROM test.message;END
PROSEDUR `test`.`UpdateMessage`(IN paramkey INT, IN param1 VARCHAR(50), IN param2 VARCHAR(50), IN param3 VARCHAR(200))MULAIUPDATE messageSET Nama = param1, Email = param2, Pesan = param3WHERE (message. Entry_ID = kunci param);END
Buka zip "MySQL" dan konfigurasikan IIS agar mengarah ke sana. Pastikan Anda mengkonfigurasi server web untuk menggunakan ASP.NET 2.0.
Buka "web.config" dan ubah baris:
untuk terhubung ke database MySQL Anda.
Telusuri ke halaman default.aspx melalui IIS.
ini adalah kelas yang menggunakan Generik untuk menyediakan data yang digunakan oleh kontrol ObjectDataSource:
menggunakan System;menggunakan System.Collections.Generic;menggunakan System.Data;menggunakan MySql.Data.MySqlClient;menggunakan System.Configuration;menggunakan System.ComponentModel ;[DataObject(true)]kelas statis publik MessagesDB{ string statis pribadi GetConnectionString() { return ConfigurationManager.ConnectionStrings ["MySQLConnectionString"].ConnectionString; } [DataObjectMethod(DataObjectMethodType.Select)] Daftar statis publik GetMessages() { MySqlCommand cmd = new MySqlCommand("ShowAll", new MySqlConnection(GetConnectionString())); cmd.CommandType = CommandType.StoredProcedure; cmd.Koneksi.Buka(); MySqlDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection); Daftar MessageItemlist = Daftar baru(); while (dr.Read()) { MessageItem MessageItem = new MessageItem(); MessageItem.Entry_ID = Konversi.ToInt32(dr["Entry_ID"]); MessageItem.Pesan = Convert.ToString(dr["Pesan"]); MessageItem.Nama = Convert.ToString(dr["Nama"]); MessageItem.Email = Konversi.ToString(dr["Email"]); DaftarItemPesan.Tambahkan(ItemPesan); } dr.Tutup(); kembalikan DaftarItem Pesan; } [DataObjectMethod(DataObjectMethodType.Insert)] public static void InsertMessage(MessageItem MessageItem) { MySqlCommand cmd = new MySqlCommand("InsertMessage", new MySqlConnection(GetConnectionString())); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add(new MySqlParameter("param1", MessageItem.Name)); cmd.Parameters.Add(new MySqlParameter("param2", MessageItem.Email)); cmd.Parameters.Add(new MySqlParameter("param3", MessageItem.Message)); cmd.Koneksi.Buka(); cmd.ExecuteNonQuery(); cmd.Koneksi.Tutup(); } [DataObjectMethod(DataObjectMethodType.Update)] public static int UpdateMessage(MessageItem MessageItem) { MySqlCommand cmd = new MySqlCommand("UpdateMessage", new MySqlConnection(GetConnectionString())); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add(baru MySqlParameter("paramkey", MessageItem.Entry_ID)); cmd.Parameters.Add(new MySqlParameter("param1", MessageItem.Name)); cmd.Parameters.Add(new MySqlParameter("param2", MessageItem.Email)); cmd.Parameters.Add(new MySqlParameter("param3", MessageItem.Message)); cmd.Koneksi.Buka(); int i = cmd.ExecuteNonQuery(); cmd.Koneksi.Tutup(); kembalikan saya; } [DataObjectMethod(DataObjectMethodType.Delete)] public static int DeleteMessage(MessageItem MessageItem) { MySqlCommand cmd = new MySqlCommand("DeleteMessage", new MySqlConnection(GetConnectionString())); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add(baru MySqlParameter("param1", MessageItem.Entry_ID)); cmd.Koneksi.Buka(); int i = cmd.ExecuteNonQuery(); cmd.Koneksi.Tutup(); kembalikan saya; }
kelas di atas menggunakan kelas "MessageItem" untuk meneruskan parameter ke dan dari kontrol ObjectDataSource:
menggunakan System;public class MessageItem{ int _Entry_ID; string _Pesan; tali _Nama; rangkaian _Email; public MessageItem() { } public int Entry_ID { dapatkan { return _Entry_ID; } setel { _Entry_ID = nilai; } } string publik Pesan { dapatkan { return _Message; } setel { _Pesan = nilai; } } string publik Nama { dapatkan { return _Name; } setel { _Nama = nilai; } } string publik Email { dapatkan { return _Email; } setel { _Email = nilai; } }}
ini adalah file .aspx yang berisi kontrol ObjectDataSource serta GridView untuk mengedit data dan DetailsView untuk memasukkan catatan: