我想查看一些字段是否有一些唯一值 - 例如,我想检查表中的field1,field2是否为" YES"。如果两者都有"是"然后我想调用一些函数,但如果其中一个函数有" No"价值然后我想调用一些其他功能。请注意,在我的select语句中,我从查询字符串中传递了一个ID。我怎么能这样做?
protected void Check_ItemUpdated(object sender, DetailsViewUpdatedEventArgs e) {
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString);
SqlDataAdapter da = new SqlDataAdapter("SELECT ID, Field1, Field2 from MyTabel WHERE ID = '" + Request.QueryString["ID"] + "'", con);
DataTable dt = new DataTable();
da.Fill(dt);
}
答案 0 :(得分:4)
如果确定是否某个特定的标准存在是否只是给定记录,那么我建议您在数据库端进行此检查,然后使用ExecuteScalar
获得结果:
using(SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString))
{
using(SqlCommand cmd = new SqlCommand("SELECT count(*) from MyTabel WHERE ID =@ID And (Field1='Yes' And Field2='Yes')" , con))
{
cmd.parameters.Add("@ID",Request.QueryString["ID"]);
con.open();
int result = cmd.ExecuteScalar();
con.close();
if(result == 1)
// condition exists
// so call success function
else
// call failure function
}
}
更新
这可能与问题没有直接关系,但要从detailsView
获取记录ID,您需要完成两个步骤:
将datakeynames
的{{1}}属性设置为表格主键名称的名称 - 在本例中为detailsView
。
ID
现在您可以通过
访问所选的ID<asp:detailsview datakeynames="ID"
点击此处查看更多information。