Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Parameter LIKE dan IN Keadaan dalam .NET Queries?

Bagaimana untuk Parameter LIKE dan IN Keadaan dalam .NET Queries?

Mary-Kate Olsen
Lepaskan: 2025-01-01 07:37:10
asal
476 orang telah melayarinya

How to Parameterize LIKE and IN Conditions in .NET Queries?

Pertanyaan Berparameter dengan Syarat SUKA dan DALAM

Pertanyaan berparameter dalam .Net biasanya melibatkan penggunaan nama parameter tertentu dan menambah nilai pada parameter ini. Walau bagaimanapun, apabila berurusan dengan keadaan seperti IN atau LIKE, yang mungkin memerlukan nilai parameter berbilang atau dinamik, sintaks boleh menjadi lebih kompleks.

Mari kita atasi yang khusus soalan:

Pertanyaan:

SELECT * 
FROM Products 
WHERE Category_ID IN (@categoryids) 
OR name LIKE '%@name%'
Salin selepas log masuk

Parameter:

  • ID Kategori: Senarai nombor yang dipisahkan koma tanpa petikan.
  • Nama: Rentetan yang mungkin mengandungi aksara khas.

Sintaks Diubah Suai:

Untuk mencipta pertanyaan berparameter sepenuhnya, kita perlu membina nama dan nilai parameter secara dinamik untuk keadaan IN. Kita boleh mencapai ini dengan menggunakan gelung:

int[] categoryIDs = ...;
string Name = ...;

SqlCommand comm = ...;

string[] parameters = new string[categoryIDs.Length];
for (int i = 0; i < categoryIDs.Length; i++)
{
    parameters[i] = "@p" + i;
    comm.Parameters.AddWithValue(parameters[i], categoryIDs[i]);
}
comm.Parameters.AddWithValue("@name", $"%{Name}%");
Salin selepas log masuk

Teks Pertanyaan Diubah Suai:

Sambungkan nama parameter yang dijana ke dalam keadaan IN:

WHERE Category_ID IN (@p0, @p1, ...)
Salin selepas log masuk

Teks pertanyaan akhir akan kelihatan seperti:

SELECT * 
FROM Products 
WHERE Category_ID IN (@p0, @p1, ...) 
OR name LIKE @name
Salin selepas log masuk

Pendekatan ini memastikan bahawa setiap CategoryID diparameterkan secara individu dan keadaan LIKE juga diparameterkan dengan sintaks corak yang sesuai. Dengan membuat parameter sepenuhnya pertanyaan, anda menghalang suntikan SQL dan meningkatkan prestasi.

Atas ialah kandungan terperinci Bagaimana untuk Parameter LIKE dan IN Keadaan dalam .NET Queries?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan