Có, bạn đã hiểu sai bài viết. SQL được chuyển qua nguyên trạng và phải chứa đúng :param1
hoặc @param1
v.v. "Không có tiền tố nào cả "đang nói về mã mà bạn không thấy - cụ thể là đảm bảo rằng mã hoạt động (thông qua một số cơ chế):
cmd.Parameters.Add("param1", 963);
so với
cmd.Parameters.Add("@param1", 963);
so với
cmd.Parameters.Add(":param1", 963);
Tùy chọn đầu tiên (không có tiền tố) là tùy chọn chính xác và ưu tiên.
Nếu bạn muốn SQL trong mã của mình là tham số bất khả tri, bạn có thể sử dụng thông tin từ đây: Lấy tiền tố tham số trong ADO.NET
Tuy nhiên, SQL hiếm khi đủ gần để chỉ cần tra cứu tiền tố tham số sẽ khắc phục được tất cả các vấn đề.