주어진 ID에 대해 내 테이블에서 3 "예"를 찾으면 전자 메일을 보냅니다. 따라서 아래의 코드에서 쿼리 문자열을 매개 변수로 사용하고 select 문에서이를 사용하고 있지만 쿼리 문자열 대신 DetailView에서 선택한 ID를 사용하고 싶습니다. 다음은 쿼리 고통 사용하는 코드입니다 :DetailView에서 선택한 ID를 매개 변수로 사용
protected void Check_ItemUpdated(object sender, DetailsViewUpdatedEventArgs e)
{
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString);
SqlCommand cmd = new SqlCommand("SELECT count(*) from MyTable WHERE ID [email protected] And (field1='Yes' And field2='Yes' And field3='Yes')", con);
cmd.Parameters.Add("@ID", Request.QueryString["ID"]);
cmd.Connection = con;
con.Open();
int result = (int)cmd.ExecuteScalar();
if (result == 1)
{
send email...
}
을 여기에 내가 수정하고 DetailView ID를 사용하려고하지만 제대로 작동하지 않습니다 업데이트 된 코드는, 무슨 내가 잘못 여기 PLS 도움말을하고있는 중이 야 :
protected void Check_ItemUpdated(object sender, DetailsViewUpdatedEventArgs e)
{
string ID = Detailview1.Rows[0].Cells[1].Text;
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString);
SqlCommand cmd = new SqlCommand("SELECT count(*) from MyTable WHERE ID [email protected] And (field1='Yes' And field2='Yes' And field3='Yes')", con);
cmd.Parameters.Add("@ID", SqlDbType.VarChar).Value = ID;
cmd.Connection = con;
con.Open();
int result =(int) cmd.ExecuteScalar();
if (result == 1)
{
send email...
}
어떤 오류가 발생하고 있습니까? –
나는이 필드에 대해 예 또는 아니오를 선택할 수있는 드롭 다운 상자를 가지고 있으므로 문제는 3 번째 필드에서 예를 선택한 후 이메일이 즉시 실행되지 않는다는 것입니다. 나는 다시 예선을 선택해야합니다. 예를 선택한 경우에도 네 번째 시간에만 시작됩니다. 그러나 이상한 것은 쿼리 문자열에 사용하는 코드가 잘 작동한다는 것입니다. 전자 메일은 세 번째 필드가 Yes로 바로 설정되면 실행됩니다. 감사. – moe
언제 이벤트가 시작됩니까? 값이 변경되기 전에 이벤트가 발생하는 타이밍 일 수도 있고 변경을 완료하지 않을 수도 있습니다. – shookdiesel