这是我编写select语句来检查数据库中是否有值的方法。使用SqlDataReader将值插入到SQL Server表中
bool userIsPresent=false;
string sqlQuery = string.Format("SELECT * FROM Person WHERE Name = '{0}'", name);
SqlCommand s = new SqlCommand(sqlQuery, con);
con.Open();
SqlDataReader sqlread = s.ExecuteReader();
userIsPresent = sqlread.HasRows;
con.Close();
但现在我需要一些值保存到数据库中。我怎样才能做到这一点 ?我不认为我应该使用SqlDataReader
,那么如何保存并确认数据是否保存到数据库?
public static bool saveToDb(string name1,string nam2, DateTime dat)
{
bool ok=false;
string sqlQuery = string.Format("INSERT into NumbersTable values ('{0}', '{1}','{2}')",name1,nam2,dat);
SqlCommand s = new SqlCommand(sqlQuery, con);
con.Open();
SqlDataReader sr = s.ExecuteReader(); // MIGHT BE WRONG
ok = sr.HasRows;
con.Close();
return ok;
}
请注意,'string.Format'不会阻止你进行sql注入攻击。改用SQL参数! – 2013-02-18 08:08:02