Mulai Cepat: Menggunakan .NET (C#) untuk menyambungkan dan meminta data di Azure Database for MySQL - Server Fleksibel
BERLAKU UNTUK: Azure Database for MySQL - Server Fleksibel
Mulai cepat ini menunjukkan cara menyambungkan ke instans server fleksibel Azure Database for MySQL dengan menggunakan aplikasi C#. Ini menunjukkan cara menggunakan pernyataan SQL untuk mengkueri, menyisipkan, memperbarui, dan menghapus data dalam database.
Prasyarat
Untuk mulai cepat ini, Anda perlu:
Akun Azure dengan langganan aktif.
Jika Anda tidak memiliki langganan Azure, buat akun gratis Azure sebelum memulai. Saat ini, dengan akun gratis Azure, Anda dapat mencoba Azure Database for MySQL - Server Fleksibel gratis selama 12 bulan. Untuk informasi selengkapnya, lihat Coba Azure Database for MySQL - Server Fleksibel secara gratis.
Membuat instans server fleksibel Azure Database for MySQL dengan menggunakan portal Azure
atau Azure CLI jika Anda tidak memilikinya.Berdasarkan pada apakah Anda menggunakan akses publik atau privat, selesaikan SALAH SATU tindakan di bawah ini untuk mengaktifkan konektivitas.
Instal .NET SDK untuk platform Anda (Windows, Ubuntu Linux, atau macOS).
Mengalami masalah? Beri tahu kami
Buat proyek C#
Pada perintah, jalankan:
mkdir AzureMySqlExample
cd AzureMySqlExample
dotnet new console
dotnet add package MySqlConnector
Mendapatkan informasi koneksi
Dapatkan informasi koneksi yang diperlukan untuk menyambungkan ke instans server fleksibel Azure Database for MySQL. Anda memerlukan nama server dan kredensial untuk masuk yang sepenuhnya memenuhi syarat.
- Masuk ke portal Azure.
- Dari menu sebelah kiri di portal Microsoft Azure, pilih Semua sumber daya, lalu cari server yang telah Anda buat (seperti mydemoserver).
- Pilih nama server.
- Dari panel server Gambaran Umum, buat catatan Nama server dan Nama untuk masuk admin server. Jika lupa kata sandi, Anda juga dapat mengatur ulang kata sandi dari panel ini.
Langkah 1: Menyambungkan dan menyisipkan data
Gunakan kode berikut untuk menyambungkan dan memuat data dengan menggunakan pernyataan SQL CREATE TABLE
dan INSERT INTO
. Kode ini menggunakan metode kelas MySqlConnection
:
- OpenAsync() untuk membuat sambungan ke MySQL.
- CreateCommand(), menyetel properti CommandText
- ExecuteNonQueryAsync() untuk menjalankan perintah database.
Ganti parameter Server
, Database
, UserID
, dan Password
dengan nilai yang Anda tentukan saat membuat server dan database.
using System;
using System.Threading.Tasks;
using MySqlConnector;
namespace AzureMySqlExample
{
class MySqlCreate
{
static async Task Main(string[] args)
{
var builder = new MySqlConnectionStringBuilder
{
Server = "YOUR-SERVER.mysql.database.azure.com",
Database = "YOUR-DATABASE",
UserID = "USER",
Password = "PASSWORD",
SslMode = MySqlSslMode.Required,
};
using (var conn = new MySqlConnection(builder.ConnectionString))
{
Console.WriteLine("Opening connection");
await conn.OpenAsync();
using (var command = conn.CreateCommand())
{
command.CommandText = "DROP TABLE IF EXISTS inventory;";
await command.ExecuteNonQueryAsync();
Console.WriteLine("Finished dropping table (if existed)");
command.CommandText = "CREATE TABLE inventory (id serial PRIMARY KEY, name VARCHAR(50), quantity INTEGER);";
await command.ExecuteNonQueryAsync();
Console.WriteLine("Finished creating table");
command.CommandText = @"INSERT INTO inventory (name, quantity) VALUES (@name1, @quantity1),
(@name2, @quantity2), (@name3, @quantity3);";
command.Parameters.AddWithValue("@name1", "banana");
command.Parameters.AddWithValue("@quantity1", 150);
command.Parameters.AddWithValue("@name2", "orange");
command.Parameters.AddWithValue("@quantity2", 154);
command.Parameters.AddWithValue("@name3", "apple");
command.Parameters.AddWithValue("@quantity3", 100);
int rowCount = await command.ExecuteNonQueryAsync();
Console.WriteLine(String.Format("Number of rows inserted={0}", rowCount));
}
// connection will be closed by the 'using' block
Console.WriteLine("Closing connection");
}
Console.WriteLine("Press RETURN to exit");
Console.ReadLine();
}
}
}
Memiliki masalah? Beri tahu kami.
Langkah 2: Membaca data
Gunakan kode berikut untuk menyambungkan dan membaca data dengan menggunakan SELECT
pernyataan SQL. Kode ini menggunakan kelas MySqlConnection
dengan metode:
- OpenAsync() untuk membuat sambungan ke MySQL.
- CreateCommand() untuk menyetel properti CommandText.
- ExecuteReaderAsync() untuk menjalankan perintah database.
- ReadAsync() untuk melanjutkan ke catatan dalam hasil. Kemudian kode ini menggunakan GetInt32 dan GetString untuk mengurai nilai dalam catatan.
Ganti parameter Server
, Database
, UserID
, dan Password
dengan nilai yang Anda tentukan saat membuat server dan database.
using System;
using System.Threading.Tasks;
using MySqlConnector;
namespace AzureMySqlExample
{
class MySqlRead
{
static async Task Main(string[] args)
{
var builder = new MySqlConnectionStringBuilder
{
Server = "YOUR-SERVER.mysql.database.azure.com",
Database = "YOUR-DATABASE",
UserID = "USER@YOUR-SERVER",
Password = "PASSWORD",
SslMode = MySqlSslMode.Required,
};
using (var conn = new MySqlConnection(builder.ConnectionString))
{
Console.WriteLine("Opening connection");
await conn.OpenAsync();
using (var command = conn.CreateCommand())
{
command.CommandText = "SELECT * FROM inventory;";
using (var reader = await command.ExecuteReaderAsync())
{
while (await reader.ReadAsync())
{
Console.WriteLine(string.Format(
"Reading from table=({0}, {1}, {2})",
reader.GetInt32(0),
reader.GetString(1),
reader.GetInt32(2)));
}
}
}
Console.WriteLine("Closing connection");
}
Console.WriteLine("Press RETURN to exit");
Console.ReadLine();
}
}
}
Mengalami masalah? Beri tahu kami
Langkah 3: Memperbarui data
Gunakan kode berikut untuk menyambungkan dan membaca data dengan menggunakan UPDATE
pernyataan SQL. Kode ini menggunakan kelas MySqlConnection
dengan metode:
- OpenAsync() untuk membuat sambungan ke MySQL.
- CreateCommand() untuk menyetel properti CommandText
- ExecuteNonQueryAsync() untuk menjalankan perintah database.
Ganti parameter Server
, Database
, UserID
, dan Password
dengan nilai yang Anda tentukan saat membuat server dan database.
using System;
using System.Threading.Tasks;
using MySqlConnector;
namespace AzureMySqlExample
{
class MySqlUpdate
{
static async Task Main(string[] args)
{
var builder = new MySqlConnectionStringBuilder
{
Server = "YOUR-SERVER.mysql.database.azure.com",
Database = "YOUR-DATABASE",
UserID = "USER",
Password = "PASSWORD",
SslMode = MySqlSslMode.Required,
};
using (var conn = new MySqlConnection(builder.ConnectionString))
{
Console.WriteLine("Opening connection");
await conn.OpenAsync();
using (var command = conn.CreateCommand())
{
command.CommandText = "UPDATE inventory SET quantity = @quantity WHERE name = @name;";
command.Parameters.AddWithValue("@quantity", 200);
command.Parameters.AddWithValue("@name", "banana");
int rowCount = await command.ExecuteNonQueryAsync();
Console.WriteLine(String.Format("Number of rows updated={0}", rowCount));
}
Console.WriteLine("Closing connection");
}
Console.WriteLine("Press RETURN to exit");
Console.ReadLine();
}
}
}
Langkah 4: Menghapus data
Gunakan kode berikut untuk menyambungkan dan menghapus data dengan menggunakan DELETE
pernyataan SQL.
Kode ini menggunakan kelas MySqlConnection
dengan metode
- OpenAsync() untuk membuat sambungan ke MySQL.
- CreateCommand() untuk menyetel properti CommandText.
- ExecuteNonQueryAsync() untuk menjalankan perintah database.
Ganti parameter Server
, Database
, UserID
, dan Password
dengan nilai yang Anda tentukan saat membuat server dan database.
using System;
using System.Threading.Tasks;
using MySqlConnector;
namespace AzureMySqlExample
{
class MySqlDelete
{
static async Task Main(string[] args)
{
var builder = new MySqlConnectionStringBuilder
{
Server = "YOUR-SERVER.mysql.database.azure.com",
Database = "YOUR-DATABASE",
UserID = "USER",
Password = "PASSWORD",
SslMode = MySqlSslMode.Required,
};
using (var conn = new MySqlConnection(builder.ConnectionString))
{
Console.WriteLine("Opening connection");
await conn.OpenAsync();
using (var command = conn.CreateCommand())
{
command.CommandText = "DELETE FROM inventory WHERE name = @name;";
command.Parameters.AddWithValue("@name", "orange");
int rowCount = await command.ExecuteNonQueryAsync();
Console.WriteLine(String.Format("Number of rows deleted={0}", rowCount));
}
Console.WriteLine("Closing connection");
}
Console.WriteLine("Press RETURN to exit");
Console.ReadLine();
}
}
}
Membersihkan sumber daya
Untuk membersihkan semua sumber daya yang digunakan selama mulai cepat ini, hapus grup sumber daya menggunakan perintah berikut:
az group delete \
--name $AZ_RESOURCE_GROUP \
--yes