新手提醒! 我目前正在开发一个关于visual studio的asp.net项目,而没有任何以前的经验或知识。我需要编写一个查询,根据包含会话变量的where子句进行更新。
我有一个Session [“patid”],它存储一个整数值。我的代码中的查询部分如下:
SqlCommand cmd1 = new SqlCommand("update prescription set Medicine#1='"+med1txt.Text+"' where Patient_ID = Session["patid"]",con);
其中con是SqlConnection。有了这个,我得到了很多构建错误,如“; expected”,“无效的表达式术语”),“等。另外,Patient_ID是一个int类型的属性,所以我不能使用Session [”patid“]。ToString( )。 有谁能建议解决这个问题?谢谢!
答案 0 :(得分:0)
考虑到您违反所有最佳做法/安全规则,请查看以下内容:
SqlCommand cmd1 = new SqlCommand("update prescription set Medicine ='" + med1txt.Text + "' where Patient_ID =" + Session["patid"]",con);
我至少会使用带参数的SqlCommand来避免SQL注入等。
请查看here了解详情
答案 1 :(得分:0)
试试这个
String query = @"update prescription set medicine#1=@medicine where patient_id=@patientId";
using(SqlCommand cmd = new SqlCommand(query, conn)){
cmd.Parameters.AddWithValue("@medicine", med1txt.Text);
cmd.Parameters.AddWithValue("@patientId", Session["patid"]);
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
}