C# 下拉列表将无法正确读取数据库值
因此,我有一个基本表单,用户可以在其中添加记录并编辑它们。其中一个字段是下拉列表,我从数据库中获取项目C# 下拉列表将无法正确读取数据库值,c#,asp.net,sql-server-2008,C#,Asp.net,Sql Server 2008,因此,我有一个基本表单,用户可以在其中添加记录并编辑它们。其中一个字段是下拉列表,我从数据库中获取项目 private void getProducts() { DataTable Products = new DataTable(); SqlConnection mySqlConnection = new SqlConnection(strings.settings.connectionString); SqlCommand mySqlCommand = mySql
private void getProducts()
{
DataTable Products = new DataTable();
SqlConnection mySqlConnection = new SqlConnection(strings.settings.connectionString);
SqlCommand mySqlCommand = mySqlConnection.CreateCommand();
try
{
SqlDataAdapter adapter = new SqlDataAdapter("SELECT DESCRIPTION, PRODUCT_ID FROM dbo.PRODUCT_TABLE", mySqlConnection);
adapter.Fill(Products);
ddlProduct.DataSource = Products;
ddlProduct.DataTextField = "DESCRIPTION";
ddlProduct.DataValueField = "PRODUCT_ID";
ddlProduct.DataBind();
}
catch (Exception ex)
{
lblError.Text = ex.Message;
}
finally
{
}
}
此代码在Page_Load事件上运行,并有一个if(!IsPostBack)包装
我使用
ddlProduct.DataTextField
而且它储存得很好
我尝试使用select语句和datareader读取数据库表(与上面的不同)
SqlDataReader mySqlDataReader = mySqlCommand.ExecuteReader(CommandBehavior.SingleRow);
ddlProduct.DataTextField = mySqlDataReader[5].ToString();
然而,我似乎永远无法正确读取数据。上面的这句话从来没有用过。我尝试了许多解决方案,并尝试阅读以下内容:
ddlProduct.SelectedItem.Text = mySqlDataReader[5].ToString();
ddlProduct.SelectedValue.Text = mySqlDataReader[5].ToString();
ddlProduct.SelectedItem.Value = mySqlDataReader[5].ToString();
SelectedItem.Text有点效果,但是我相信它只是替换了下拉列表中的文本,因为它重复了文本两次。如果有人能给我指出正确的方向,我会非常感谢!作为旁注,所有其他字段(文本框和标签)都可以完美地插入和编辑。我很抱歉,如果这是混淆,我试图减少代码,但更多是需要的,然后我会张贴它!谢谢你的阅读 Offtopic:尝试在SQLDataReader中使用一段时间,我只是没有包含代码吗