-1

在使用 C# 在 ASP.NET 中执行以下代码时,我收到一个异常,例如“行/列不存在数据”。

  private void updateGrnItemDetails(object sender, EventArgs e)
     {
         txtItemNameGrnUpdate.Enabled = true;
         txtItemCostGrnUpdate.Enabled = true;
         txtItemColorGrnUpdate.Enabled = true;
         String s = cmbGrnUpdateItemCode.SelectedItem.ToString();
         MessageBox.Show(s);
         sqlQuery2 = @"SELECT * FROM item WHERE (itemType ='"+cmbGrnUpdateItemType.SelectedText+"')";
         comm = new SqlCeCommand(sqlQuery2, con_data);
         try
         {
             con_data.Open();
             dr = comm.ExecuteReader();
             MessageBox.Show(dr.GetString(0));
             while (dr.Read())//reading data from rows
             {
                 txtItemNameGrnUpdate.Text += dr["itemName"].ToString();
                 txtItemColorGrnUpdate.Text += dr["itemColor"].ToString();
                 txtItemCostGrnUpdate.Text += dr["itemCost"].ToString();
             }
         }
         catch(Exception ex)
         {
                 MessageBox.Show(ex.Message);
         }
         finally
         {
             con_data.Close();
         }
     }

我正在使用 Visual Studio 2010 和 Sql Compact 版本。我正在使用请指导我如何解决这个问题。

4

2 回答 2

0

你可以更换* with columns name

sqlQuery2 = "SELECT itemCost, itemName, itemColor FROM item WHERE (itemType ='"+cmbGrnUpdateItemType.SelectedText+"')";

我建议你使用

sqlQuery2 = "SELECT itemCost, itemName, itemColor FROM item WHERE itemType = @ParameterName";

comm .Parameters.AddWithValue("@ParameterName", cmbGrnUpdateItemType.SelectedText);
于 2012-10-04T10:23:50.367 回答
0

在您执行 GetString() 之前,您错过了 Read 调用

while(dr.Read())
{
  String res = dr.GetString(0); 
  //...
}
于 2012-10-04T10:24:58.727 回答