Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Melaksanakan Pertanyaan SQL Secara Terus dalam C# Tanpa Menggunakan SQLCMD.exe?

Bagaimanakah Saya Boleh Melaksanakan Pertanyaan SQL Secara Terus dalam C# Tanpa Menggunakan SQLCMD.exe?

Patricia Arquette
Patricia Arquetteasal
2025-01-05 15:09:39619semak imbas

How Can I Execute SQL Queries Directly in C# Without Using 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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn