2017-05-14 118 views
0
protected void Button1_Click(object sender, EventArgs e) 
    { 
     string db = "Data Source=DESKTOP-R6H3RTP;Initial Catalog=AdmitDB; Integrated Security= true;"; 
     SqlConnection mycon = new SqlConnection(db); 
     mycon.Open(); 
     String query = "select * from tblPatient where PhoneNo like '"+TextBox1.Text+"%'"; 
     SqlCommand cmd = new SqlCommand(query, mycon); 
     SqlDataAdapter da = new SqlDataAdapter(cmd); 
     DataSet ds = new DataSet(); 
     da.Fill(ds); 
     if (cmd.ExecuteNonQuery() > 0) 
     { 
      lblName.Visible = true; 
      lblId.Visible = true; 
      lblPNo.Visible = true; 
      lblDOB.Visible = true; 
      lblName.Text = "PName"; 
      lblId.Text = "Pid"; 
      lblPNo.Text = "PhoneNo"; 
      lblDOB.Text = "PDOB"; 
     } 
     else 
     { 
      lblNotFound.Visible = true; 
     } 
    } 

我正在從數據庫中搜索,但只是else語句執行不知道爲什麼它不會從數據庫中獲取數據,如果任何類型的錯誤,然後幫我請搜索數據

回答

0

我認爲你不需要if (cmd.ExecuteNonQuery() > 0)。 cmd會自動執行。你想檢查數據集中的表格。

// check the first table for rows. 
if(ds.Tables[0].HasRows()) 
{ 
    // success. now you can work with the table. 
} 
+0

三江源#wazz工程:) – Haroon

+0

PLZ標記正確的答案(一個或多個)。 TNX。 – wazz

+0

由於信譽低,我不能標記#sir – Haroon

0

ExecuteNonQuery方法返回是由查詢改性行的數目。由於SELECT查詢不會修改數據庫中的任何內容 - 您會得到0

您應修改您的查詢與COUNT(*)功能: String query = "select COUNT(*) from tblPatient where PhoneNo like '"+TextBox1.Text+"%'";

然後你就可以得到價值與ExecuteScalar()if (cmd.ExecuteScalar() > 0)

+0

Thankyou #sir .......... – Haroon