Sambungan pangkalan data biasa dan masalah membaca dan menulis data dalam C# memerlukan contoh kod khusus
Dalam pembangunan C#, sambungan pangkalan data dan membaca data Penulisan adalah masalah biasa, dan mengendalikan masalah ini dengan betul adalah kunci untuk memastikan kualiti dan prestasi kod. Artikel ini akan memperkenalkan beberapa sambungan pangkalan data biasa dan masalah membaca dan menulis data, serta menyediakan contoh kod khusus untuk membantu pembaca memahami dan menyelesaikan masalah ini dengan lebih baik.
1.1 Ralat rentetan sambungan
Apabila menyambung ke pangkalan data, ralat biasa sambungan Rentetan tidak betul. Rentetan sambungan mengandungi maklumat yang diperlukan untuk menyambung ke pangkalan data, seperti alamat pelayan, nama pangkalan data, nama pengguna dan kata laluan, dsb. Berikut ialah contoh rentetan sambungan:
string connStr = "Data Source=localhost;Initial Catalog=mydatabase;User ID=myusername;Password=mypassword";
Dalam penggunaan sebenar, sila ubah suai rentetan sambungan mengikut jenis dan konfigurasi pangkalan data.
1.2 Kebocoran sambungan
Selepas menggunakan sambungan pangkalan data, anda perlu menutup sambungan dalam masa, jika tidak, ia akan menyebabkan kebocoran sambungan, menyebabkan pembaziran sumber pangkalan data dan masalah prestasi. Dalam keadaan biasa, anda boleh menggunakan blok pernyataan using
untuk melepaskan sambungan secara automatik, seperti yang ditunjukkan di bawah:
using (SqlConnection conn = new SqlConnection(connStr)) { // 数据库操作 }
1.3 Isu kolam sambungan
Kolam sambungan ialah cara untuk meningkatkan sambungan pangkalan data Teknologi prestasi yang boleh menggunakan semula sambungan yang dicipta dan mengelakkan penciptaan dan pemusnahan sambungan yang kerap. Apabila menggunakan kolam sambungan, anda perlu memberi perhatian kepada operasi pembukaan dan penutupan sambungan untuk mengelakkan keletihan kolam sambungan atau tamat masa sambungan. Berikut ialah contoh menggunakan kolam sambungan:
SqlConnection conn = new SqlConnection(connStr); conn.Open(); // 数据库操作 conn.Close();
2.1 suntikan SQL
#🎜 🎜#SQL Injection ialah masalah keselamatan pangkalan data biasa. Apabila input pengguna tidak ditapis dan melarikan diri dengan betul, pengguna berniat jahat boleh memasukkan kod berniat jahat ke dalam pernyataan SQL, menyebabkan kebocoran data atau serangan pangkalan data. Untuk mengelakkan suntikan SQL, pertanyaan berparameter biasanya digunakan untuk memproses data yang dimasukkan pengguna. Berikut ialah contoh pertanyaan berparameter:string sql = "SELECT * FROM Users WHERE UserName = @UserName"; using (SqlConnection conn = new SqlConnection(connStr)) { conn.Open(); SqlCommand command = new SqlCommand(sql, conn); command.Parameters.AddWithValue("@UserName", userInput); // 执行查询并处理结果 conn.Close(); }
string sql = "SELECT TOP 10 * FROM Users ORDER BY UserID DESC"; // 查询最新的10条记录 using (SqlConnection conn = new SqlConnection(connStr)) { conn.Open(); SqlCommand command = new SqlCommand(sql, conn); // 执行查询并处理结果 conn.Close(); }
string sql = "SELECT UserName, Age FROM Users"; using (SqlConnection conn = new SqlConnection(connStr)) { conn.Open(); SqlCommand command = new SqlCommand(sql, conn); SqlDataReader reader = command.ExecuteReader(); while (reader.Read()) { string userName = reader.GetString(0); int age = reader.GetInt32(1); // 处理数据 } reader.Close(); conn.Close(); }
Atas ialah kandungan terperinci Sambungan pangkalan data biasa dan masalah membaca dan menulis data dalam C#. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!