2016-03-29 9 views
2

現在、ユーザーがデータベースに見つからない姓を入力したときに、検索ボタンに警告メッセージが表示されないアクティビティに取り組んでいます。姓がデータベース上に見つかった場合、すでにレコードを表示しています。レコードが表示されたら削除ボタンを押す予定です。それをどうやって作るのか分かりません。ちょっとしたヒントを求めています。ありがとう。C#コードを使用してasp.netの検索ボタン

using (MySqlConnection con = new MySqlConnection(ConfigurationManager.ConnectionStrings["DBcon"].ConnectionString)) 
     { 
      try 
      { 
       con.Open(); 
       string Sql = "SELECT * FROM contacts WHERE LastName LIKE '" + txtbx_search.Text + "%'"; 

       MySqlDataAdapter da = new MySqlDataAdapter(Sql, con); 
       DataSet ds = new DataSet(); 
       da.Fill(ds); 
       GridView1.DataSource = ds; 
       GridView1.DataBind(); 
      } 

      catch (Exception) 
      { 
       ClientScript.RegisterClientScriptBlock(this.GetType(), "alert", "alert('No record with that last name found!')", true); 
      } 
      finally 
      { 
       con.Close(); 
      } 
+0

。例外がスローされるのですか? – Eminem

+1

このシナリオでは、データアダプタが開いて接続を閉じるため、接続を開く必要はありません。ただの観察。 – Jain

答えて

1

allertがエラーそのときにのみ実行されcatchブロック内に含まれるようにdatasetでこれを確認する必要があります。必要なシナリオでは、データベースからのレコードセット内のデータの存在を確認する必要があります。あなたはそれをチェックし、それに基づいてアラートを投げる必要があります。エラーメッセージを表示するためにキャッチでアラートを使用することができます。次のようにので、スニペットは次のようになります。

try 
    {     
     //Fill the Dataset here 
     if (ds.Tables.Count > 0) 
      { 
      GridView1.DataSource = ds; 
      GridView1.DataBind(); 
      } 
     else 
      { 
      ClientScript.RegisterClientScriptBlock(Page.GetType(), "alert", "alert('No record with that last name found!')", true); 
      } 
    } 
catch (Exception) 
    { 
     ClientScript.RegisterClientScriptBlock(Page.GetType(), "alert", "alert('Error Occured!')", true); 
    } 

注:使用してブロックがあなたのためにそれの世話をしますので、あなたは使用してブロック内の接続をクローズする必要があります。 (クレジット:Dhavalパテル)まず

+0

tryブロックの中に私の状態を入れるつもりですか? – Alphi

+0

答えが –

+0

@ un-luckyを更新しました。OPがすでにブロックを使用しているため、con.Close()が必要ではないと思いませんか? –

2

はあなたのコードで

if(ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0) 
{ 
    GridView1.DataSource = ds; 
    GridView1.DataBind(); 
} 
else 
{ 
    ClientScript.RegisterClientScriptBlock(this.GetType(), "alert", "alert('No record with that last name found!')", true); 
} 
+0

ありがとうございます。 :)私のプログラムはすでに働いていた。 – Alphi

+0

@Dhaval:実際にクレジットはあなたのものです –

+0

@ un-lucky:Ahhh ....私たちは皆、クレジットのようなものではないのを助けるためにここにいます。 –

0
ClientScript.RegisterClientScriptBlock(this.GetType(), "alert", "<script>alert('No record with that last name found!');</script>", true); 
関連する問題