Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Melaksanakan Pertanyaan SQL Secara Terus dalam C# Tanpa Menggunakan SQLCMD.exe?
Melaksanakan Pertanyaan SQL Secara Terus dalam C#
Masalah:
Sistem semasa melarang pelaksanaan fail kelompok yang memanfaatkan SQLCMD.exe, memerlukan pendekatan alternatif dalam C#.
Penyelesaian:
Menggunakan Kelas SqlCommand:
Untuk melaksanakan pertanyaan SQL terus daripada C#, anda boleh menggunakan kelas SqlCommand. Kelas ini membolehkan anda membina dan melaksanakan perintah SQL berparameter, dengan itu mengelakkan serangan suntikan.
Kod Contoh:
Kod sampel berikut menunjukkan cara menggunakan SqlCommand dengan SQL berparameter :
string queryString = "SELECT tPatCulIntPatIDPk, tPatSFirstname, tPatSName, tPatDBirthday FROM [dbo].[TPatientRaw] WHERE tPatSName = @tPatSName"; string connectionString = "Server=.\PDATA_SQLEXPRESS;Database=;User Id=sa;Password=2BeChanged!;"; using (SqlConnection connection = new SqlConnection(connectionString)) { SqlCommand command = new SqlCommand(queryString, connection); command.Parameters.AddWithValue("@tPatSName", "Your-Parm-Value"); connection.Open(); SqlDataReader reader = command.ExecuteReader(); try { while (reader.Read()) { Console.WriteLine(String.Format("{0}, {1}", reader["tPatCulIntPatIDPk"], reader["tPatSFirstname"]));// etc } } finally { reader.Close(); } }
Kod ini bersambung ke contoh SQL Server yang ditentukan dan membuka sambungan. Ia kemudian mencipta objek SqlCommand menggunakan pertanyaan SQL berparameter dan menambah parameter yang berkaitan pada arahan itu. Sambungan dibuka, pertanyaan dilaksanakan dan hasilnya diambil menggunakan objek SqlDataReader.
Sila ambil perhatian bahawa pengendalian ralat dan penutupan sambungan harus dilaksanakan dalam aplikasi praktikal.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melaksanakan Pertanyaan SQL Secara Terus dalam C# Tanpa Menggunakan SQLCMD.exe?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!