我使用VS與C#創建搜索功能。此功能將使用文本框,以便用戶可以輸入索賠編號和搜索按鈕,以便將來自該聲明的數據顯示在另一組文本框中。C#搜索按鈕代碼問題。
問題是,在我輸入索賠號並單擊按鈕後,沒有數據顯示,並且在運行時沒有出現錯誤。
我也跟着在這裏其他的問題,但到目前爲止,我還沒有能夠得到它的工作,這裏是我的代碼一些建議:
SqlConnection con = new SqlConnection("Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=SISProductionDB;Data Source=Servername");
DataTable dt = new DataTable();
DataSet ds = new DataSet();
SqlDataReader myReader = null;
con.Open();
SqlCommand myCommand = new SqlCommand("SELECT * FROM Claim WHERE ClaimNumber = '%@ClaimNumber%'", con);
myCommand.Parameters.AddWithValue("@ClaimNumber", NumQuerellaTxt.Text);
SqlDataAdapter SDA = new SqlDataAdapter(myCommand.CommandText, con);
myReader = myCommand.ExecuteReader();
myReader.Read();
while (myReader.Read())
{
ClaseQuerellaTxt.Text = (myReader["ClaimID"].ToString());
TipoQuerellaTxt.Text = (myReader["ClaimTypeID"].ToString());
FuenteQuerellaTxt.Text = (myReader["ClaimTypeID"].ToString());
EstatusQuerellaTxt.Text = (myReader["ClaimTypeID"].ToString());
OficialAtiendeTxt.Text = (myReader["ClaimTypeID"].ToString());
OficialInvestigaTxt.Text = (myReader["ClaimTypeID"].ToString());
QuerellaTxt.Text = (myReader["ClaimTypeID"].ToString());
FechaQuerellaTxt.Text = (myReader["ClaimTypeID"].ToString());
FechaIncidenteTxt.Text = (myReader["ClaimTypeID"].ToString());
HoraIncidenteTxt.Text = (myReader["ClaimTypeID"].ToString());
AbogadoAtiendeTxt.Text = (myReader["ClaimTypeID"].ToString());
FechaVistaTxt.Text = (myReader["ClaimTypeID"].ToString());
HoraVistaTxt.Text = (myReader["ClaimTypeID"].ToString());
SalaVistaTxt.Text = (myReader["ClaimTypeID"].ToString());
}
con.Close();
這是用的,而不是設置裏面的代碼查詢存儲過程中一個很好的做法。 –
通常,select *只能用於即席查詢,如果有人更改表結構,查詢將會中斷。最好明確指定你想要的列 – Liath
我也建議你使用一個用於你的連接和datareader。如果出現錯誤,您的連接可能無法處理 – Liath