Chào mọi người , em đang thực hiện việc sửa lỗi SQL Injection trong code C# thì được như sau :
void ExecuteQueryToTable(SqlCommand cmd)
{
using (SqlDataAdapter dta = new SqlDataAdapter(cmd))
{
DataTable dt = new DataTable();
dta.Fill(dt);
dgvResult.DataSource = dt;
}
}
//Các biến MSV và TableName là string đã được gán giá trị
void Process()
{
string query2 = @"SELECT TENMONHOC as 'Tên Môn Học',
SOTINCHI as 'Số Tín Chỉ',
CHUYENCAN as 'Chuyên Cần',
GIUAKY as 'Giữa kỳ',
CUOIKY as 'Cuối kỳ',
FROM @TBN
INNER JOIN SINHVIEN ON @TBN.MASINHVIEN=SINHVIEN.MASINHVIEN
INNER JOIN MONHOC ON @TBN.MAMONHOC=MONHOC.MAMONHOC
WHERE SINHVIEN.MASINHVIEN = @MSV";
using (SqlCommand cmd = new SqlCommand(query2,con))
{
cmd.Parameters.AddWithValue("@TBN", TableName);
cmd.Parameters.AddWithValue("@MSV", MSV);
ExecuteQueryToTable(cmd);
}
}
Thì gặp phải Exeption sau : “Must declare the table variable “@TBN”.”
Em không hiểu vì sao lại bắt được lỗi như vậy @@ , vì em đã tra tài liệu và cả google , có áp dụng thử một vài cách khác nhưng đều gặp lỗi tương tự
Mong mọi người giải ngố giúp em với ạ , em xin cảm ơn