SqlQuery = "INSERT INTO GradeTable(Grade,UserID,RegDate)Values('" & TxtGrade.Text.Trim & "','" & UserID & "','" & DTBReg.Value & "'Where GradeTable.StudentID ='" & StudentID & "' and GradeTable.CourseID= '" & CourseID & "') "
答案 0 :(得分:2)
看起来你正在尝试做什么,你需要的是一个UPDATE语句,而不是你写的INSERT。这似乎是一个更合适的查询:
UPDATE GradeTable
SET Grade = @grade,
UserID = @UserID,
RegDate = @RegDate
WHERE StudentID = @StudentID AND CourseID = @CourseID
请注意,我使用的是参数,而不是文本框的值。这是因为您容易受到SQL注入最常见的数据库安全漏洞之一的攻击。
将该文本用于查询,然后您可以通过以下方式将值添加到查询中:
cmd.Parameters.AddWithValue("@grade", TxtGrade.Text.Trim);
cmd.Parameters.AddWithValue("@UserID", UserID);
//AND SO ON WITH OTHER PARAMETERS
确认cmd是您的SqlCommand