Solved

Populate Dropdownlist with data from database and add blank row

Posted on 2008-10-10
6
799 Views
Last Modified: 2010-04-21
Hello,

I'm new to ASP so I need help to do the following:

I need to populate a Dropdownlist with data from an Access database table. I can bind the control to a DataSource in design mode but I want to fill the dropdownlist with data using code so that I can add on the first row a blank row or some kind of message like "Choose your Color...". So far I've writen the code below, then I got stucked...

Can you please help me do this?

Thanks,

jppinto
Dim strSql As String = ""
strSql = "SELECT [Descricao] FROM [Leis] ORDER BY [Descricao]"
Dim Conn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=C:\Programação\AEDemo\db\manpower.mdb")
Dim Cmd As New OleDbCommand(strSql, Conn)
Conn.Open()

Open in new window

0
Comment
Question by:jppinto
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
6 Comments
 
LVL 4

Accepted Solution

by:
sijishJohn earned 125 total points
ID: 22685604
try this..
Dim strSql As String = ""
        strSql = "SELECT [Descricao] FROM [Leis] ORDER BY [Descricao]"
        Dim Conn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=C:\Programação\AEDemo\db\manpower.mdb")
        Dim Cmd As New OleDbCommand(strSql, Conn)
        Conn.Open()
        DropDownList1.DataSource = Cmd.ExecuteNonQuery()
        DropDownList1.DataBind()
        DropDownList1.Items.Add(New ListItem("Choose your Color...", "-1"))
        Conn.Close()

Open in new window

0
 
LVL 20

Expert Comment

by:informaniac
ID: 22685627
Sorry dude have c# code only...
OleDbDataAdapter da = new OleDbDataAdapter();
da.SelectCommand = cmd;
 
DataSet ds = new DataSet();
 
da.Fill(ds);
 
ddl.DataSource = ds.Tables[0];
ddl.DataTextField = "Descricao";
ddl.DataValueField="Descricao";
ddl.DataBind();
 
ListItem li = new ListItem("Select avalue","0");
ddl.Items.Insert(0,li);

Open in new window

0
 
LVL 14

Assisted Solution

by:Binuth
Binuth earned 125 total points
ID: 22685634
try this

        Dim strSql As String = ""
        strSql = "SELECT [Descricao] FROM [Leis] ORDER BY [Descricao]"
        Dim Conn As New Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=C:\Programação\AEDemo\db\manpower.mdb")
        Dim Cmd As New Data.OleDb.OleDbCommand(strSql, Conn)
        Dim adp As New Data.OleDb.OleDbDataAdapter(Cmd)
 
        Dim dt As New Data.DataTable
        adp.Fill(dt)
 
        DropDownList1.DataSource = dt
        DropDownList1.DataTextField = "Descricao"
        DropDownList1.DataValueField = "Descricao"
        DropDownList1.DataBind()
 
        DropDownList1.Items.Insert(0, "Choose your Color...")

Open in new window

0
PeopleSoft Has Never Been Easier

PeopleSoft Adoption Made Smooth & Simple!

On-The-Job Training Is made Intuitive & Easy With WalkMe's On-Screen Guidance Tool.  Claim Your Free WalkMe Account Now

 
LVL 7

Assisted Solution

by:ajolly
ajolly earned 125 total points
ID: 22685635
You can add this item at design time, Choose your Color...
and specify AppendDataBoundItems property of the dropdownlist as true.


<asp:DropDownList ID="DropDownList1" runat="server" AppendDataBoundItems="true">
    <asp:ListItem Value="" Text="Choose your Color...">
    </asp:ListItem>
</asp:DropDownList>

Open in new window

0
 
LVL 20

Assisted Solution

by:informaniac
informaniac earned 125 total points
ID: 22685638
Here's the entire code
Dim strSql As String = ""
strSql = "SELECT [Descricao] FROM [Leis] ORDER BY [Descricao]"
Dim Conn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=C:\Programação\AEDemo\db\manpower.mdb")
Dim Cmd As New OleDbCommand(strSql, Conn)
Conn.Open()
 
Dim da As OleDbDataAdapter =  New OleDbDataAdapter() 
da.SelectCommand = cmd
 
Dim ds As DataSet =  New DataSet() 
 
da.Fill(ds)
 
ddl.DataSource = ds.Tables(0)
ddl.DataTextField = "Descricao"
ddl.DataValueField="Descricao"
ddl.DataBind()
 
Dim li As ListItem =  New ListItem("Select a value","0") 
ddl.Items.Insert(0,li)

Open in new window

0
 
LVL 33

Author Closing Comment

by:jppinto
ID: 31504949
I've chosen to put only a blank row and mantain the control bound to the datasource.
Thanks annyway.

jppinto
0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In an ASP.NET application, I faced some technical problems. In this article, I list them out and show the solutions that I found.  I hope it will be useful. Problem: After closing a pop-up window, the parent page should be refreshed automaticall…
ASP.Net to Oracle Connectivity Recently I had to develop an ASP.NET application connecting to an Oracle database.As I am doing it first time ,I had to solve several problems. This article will help to such developers  to develop an ASP.NET client…
I've attached the XLSM Excel spreadsheet I used in the video and also text files containing the macros used below. https://filedb.experts-exchange.com/incoming/2017/03_w12/1151775/Permutations.txt https://filedb.experts-exchange.com/incoming/201…

738 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question