Peranan dan penggunaan SqlParameter dalam C#
Dalam pembangunan C#, berinteraksi dengan pangkalan data adalah salah satu tugas biasa. Untuk memastikan keselamatan dan kesahihan data, kami selalunya perlu menggunakan pertanyaan berparameter untuk mengelakkan serangan suntikan SQL. SqlParameter ialah kelas dalam C# yang digunakan untuk membina pertanyaan berparameter Ia menyediakan cara yang selamat dan mudah untuk mengendalikan parameter dalam pertanyaan pangkalan data.
Peranan SqlParameter
Kelas SqlParameter digunakan terutamanya untuk menambah parameter pada pernyataan SQL. Fungsi utamanya adalah seperti berikut:
Penggunaan SqlParameter
Di bawah kami menggunakan contoh untuk menunjukkan cara menggunakan SqlParameter untuk membina pertanyaan berparameter.
Andaikan kita mempunyai jadual bernama "Pekerja" yang mengandungi maklumat ID, nama dan gaji pekerja. Kami perlu menanyakan maklumat pekerja yang gajinya lebih besar daripada jumlah yang ditetapkan. Berikut ialah contoh kod menggunakan SqlParameter:
string queryString = "SELECT EmployeeID, FirstName, LastName FROM Employees WHERE Salary > @salary"; using (SqlConnection connection = new SqlConnection(connectionString)) { SqlCommand command = new SqlCommand(queryString, connection); command.Parameters.Add("@salary", SqlDbType.Decimal).Value = 5000; // 设置参数名称、类型和值 connection.Open(); SqlDataReader reader = command.ExecuteReader(); while (reader.Read()) { int employeeId = (int)reader["EmployeeID"]; string firstName = reader["FirstName"].ToString(); string lastName = reader["LastName"].ToString(); Console.WriteLine($"Employee ID: {employeeId}, Name: {firstName} {lastName}"); } reader.Close(); }
Dalam contoh di atas, kami mula-mula mencipta rentetan pertanyaan yang merangkumi nama parameter "@gaji". Kemudian, kami mencipta sambungan pangkalan data dan objek perintah pertanyaan menggunakan SqlConnection dan SqlCommand.
Seterusnya, kami menambah parameter pada arahan pertanyaan dengan memanggil kaedah command.Parameters.Add
. Di sini kami menentukan nama, jenis dan nilai parameter. Dalam contoh ini, kami menggunakan SqlDbType.Decimal
sebagai jenis parameter dan menetapkan nilai parameter kepada 5000. command.Parameters.Add
方法,我们向查询命令中添加了一个参数。在这里,我们指定了参数的名称、类型和值。在这个例子中,我们使用SqlDbType.Decimal
作为参数类型,并将参数值设置为5000。
最后,我们打开数据库连接,并执行查询命令。通过调用command.ExecuteReader
command.ExecuteReader
dan gunakan SqlDataReader untuk membaca hasil baris demi baris. Dalam gelung, kami mendapat ID dan nama setiap pekerja melalui nama lajur, dan mengeluarkannya ke konsol.
Ringkasan
Atas ialah kandungan terperinci Pertanyaan berparameter dalam C# menggunakan SqlParameter. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!