我在很多教程中看到过使用变量和参数.Add这个
组成sql语句public void updateStudent(String @studentID, String @firstName, String @lastName)
{
SQLiteCommand command = conn.CreateCommand();
command.CommandText = "UPDATE Students SET firstName = @firstName, lastName = @lastName WHERE studentID = @studentID";
command.Parameters.Add(new SQLiteParameter("@studentID", @studentID));
command.Parameters.Add(new SQLiteParameter("@firstName", @firstName));
command.Parameters.Add(new SQLiteParameter("@lastName" , @lastName));
command.ExecuteNonQuery();
}
为什么我们不使用
string.Format("Update Students SET firstName = '{0}', lastName = '{1}...", @firstName, @lastname)
任何好处??
答案 0 :(得分:34)
四个原因:
另请注意:
除非是关键字,否则您不需要使用@
作为变量的前缀。所以写下来会更加惯用:
command.Parameters.Add(new SQLiteParameter("@lastName", lastName));
(同样,方法参数声明以......开头,但不参数 在SQL语句中。)