我正在使用VS与 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();
答案 0 :(得分:8)
在您阅读下面的解决方案之前,您应该尝试使用调试器并自己查找问题。调试是您需要开发的基本技能。你应该能够找到这样的bug。
答案:你正在跳过第一行:
myReader.Read();
while (myReader.Read())