如何将数据库表字段值和加载组合到下拉列表?

时间:2012-01-12 07:11:28

标签: c# asp.net

This is my database table. Now I want to combine Branch_Id, Acc_no and Acc_Type like 000178963503 and 000211111102 and display it in a dropdownlist

这是我的数据库表。现在我想结合Branch_Id,Acc_no和Acc_Type使它看起来像000178963503或000211111102并显示在下拉列表中 我的代码是

string[] account_number;
 string account;
for (int j = 0; j < dtAcc.Rows.Count;j++)
                    {
                        account = Convert.ToString(dtAcc.Rows[j][2])+Convert.ToString(dtAcc.Rows[j][5]) + Convert.ToString(dtAcc.Rows[j][3]);   ///Account Number
                        account_number =account.Split(' ');                                              
                    }
Drp_AccType.DataSource = account_number;
                    Drp_AccType.DataBind();

由于

3 个答案:

答案 0 :(得分:2)

我不确定您使用account_number =account.Split(' ');

取得了什么成就
//here is the list which will be source of combo box
List<String> accounts = new List<String>();
//go through each row
for (int j = 0; j < dtAcc.Rows.Count;j++)
{
    //combine branch, account no and type
    String account = Convert.ToString(dtAcc.Rows[j]["Branch_Id"]) + Convert.ToString(dtAcc.Rows[j]["Acc_no"]) + Convert.ToString(dtAcc.Rows[j]["Acc_Type"]);   ///Account Number
    //add account/row record to list
    accounts.Add(account);                                              
}
//bind combo box
Drp_AccType.DataSource = accounts;
Drp_AccType.DataBind();

答案 1 :(得分:0)

从查询中的数据库中选择时,您可以连接字符串

例如:从tablename中选择Branch_Id + Acc_no + Acc_Type作为col1

代码:

DataSet    ds=GetDataSet("select Branch_Id + Acc_no + Acc_Type from tablename as col1");
Drp_AccType.DataSource = ds;
Drp_AccType.DataTextField="col1"
Drp_AccType.DataValueField="col1"
                    Drp_AccType.DataBind();

答案 2 :(得分:0)

首先,你不能直接分配给'account_number'因为它是一个数组,你将不得不使用索引即。

account_number[j] = account;

此外,您必须将数组初始化为它将保留的项目数量,因为如果您尝试访问不在数组中的项目,您将收到“访问冲突错误”

我宁愿使用这种方法,那么你不需要使用数组;

string account;
Drp_AccType.Items.Clear(); //This removes previous items because you are not using    
//DataBind method
for (int j = 0; j < dtAcc.Rows.Count;j++)
                {
                    account = Convert.ToString(dtAcc.Rows[j][2])+Convert.ToString(dtAcc.Rows[j][5]) + Convert.ToString(dtAcc.Rows[j][3]);   ///Account Number
                    Drp_AccType.Items.Add(account); //Add directly to
 //dropdown box                                 
                }