2010-11-18 144 views
0

下面給出的代碼是花費無限長的時間來加載一個Web瀏覽器,當我點擊Button2,我的瀏覽器不斷加載....並且不顯示輸出。我可以在下面給出的代碼中做些什麼來提高處理速度。代碼優化asp.net c#

protected void Button2_Click(object sender, EventArgs e) 
    { 
     String a = DropDownList1.SelectedItem.Value; 
     String b = DropDownList3.SelectedItem.Value.PadLeft(3, '0');  
     String c = TextBox2.Text.PadLeft(5,'0').ToString(); 
     String d = TextBox3.Text.ToString(); 
     String digit = a+ b + c + d; 
     string sql = "select * from testcase.main where reg_no =?"; 
     string sql1 = "select jname, jcode from heardt inner join judge ON heardt.jud1 = jcode"; 

try 
      { 
       using (OdbcConnection myConn = new OdbcConnection("Driver={MySQL ODBC 3.51 Driver};Server=localhost;Database=testcase;User=root;Password=root;Option=3;")) 
       { 
        using (OdbcCommand cmd = new OdbcCommand(sql, myConn)) 
         { 
          myConn.Open(); 
          cmd.Parameters.AddWithValue("?", digit); 
          using (OdbcDataReader MyReader = cmd.ExecuteReader()) 
           { 
            //** 
            while (MyReader.Read()) 
            { 
             String f = MyReader["pet_name"].ToString(); 
             String g = MyReader["res_name"].ToString(); 

             Label9.Visible = true; 
             Label9.Text = f; 

             Label10.Visible = true; 
             Label10.Text = "VS"; 

             Label11.Visible = true; 
             Label11.Text = g; 

            } 
           } 
         } 
       } 
      } 
      catch (Exception e1) 
      { 
       Response.Write(e1.ToString()); 
      } 
//*********************** 
try 
     { 
      using (OdbcConnection myConn = new OdbcConnection("Driver={MySQL ODBC 3.51 Driver};Server=localhost;Database=testcase;User=root;Password=root;Option=3;")) 
      { 
       using (OdbcCommand cmd1 = new OdbcCommand(sql1, myConn)) 
       { 
        myConn.Open(); 

        using (OdbcDataReader MyReader1 = cmd1.ExecuteReader()) 
        { 
         //** 
         while (MyReader1.Read()) 
         { 
          String f = MyReader1["jname"].ToString(); 
          DropDownList4.Items.Add(f); 

         } 
        } 
       } 
      } 
     } 
     catch (Exception ee1) 
     { 
      Response.Write(ee1.ToString()); 
     } 
} 

是否有任何其他方式來執行查詢,而不使用連接操作爲以下查詢?

select jname, jcode from heardt inner join judge ON heardt.jud1 = jcode 
+0

首先要做的事情是:需要花費很長時間?在數據庫中,還是在.NET代碼中? – 2010-11-18 07:37:28

+0

當我嘗試運行我的代碼 – Ishan 2010-11-18 07:42:37

+0

你有索引reg_no,jud1和jcode列? – mikel 2010-11-18 07:44:27

回答

0

1-看看這個查詢選擇jname,jcode從heardt內加入法官ON heardt.jud1 = jcode服用多少時間。

2,看看你是否可以使用其他司機比ODBC MySQL和我假設您正在使用MySQL數據庫

0
  1. 工作你真的需要抓住所有從第一個SQL列? (「select * ...」)