Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > ASP .Net > can the datasource of a drop down list be a datareader?

Reply
Thread Tools

can the datasource of a drop down list be a datareader?

 
 
Jake S
Guest
Posts: n/a
 
      07-06-2003
Hi all,

Is it possibele to set the datasource of a dropdown list to a datareader?
When I try to the only column I receive is a column populated by the
datasource name repeated the amount of times equivilant to the number of
records returned, instead of the two columns(value and text) I have
populated the datareader with.

Any ideas?

Thanks in advance

Cheers Jake


 
Reply With Quote
 
 
 
 
Natty Gur
Guest
Posts: n/a
 
      07-06-2003
Hi,

You have to set the DataTextField and DataValueField .

Natty Gur, CTO
Dao2Com Ltd.
28th Baruch Hirsch st. Bnei-Brak
Israel , 51114

Phone Numbers:
Office: +972-(0)3-5786668
Fax: +972-(0)3-5703475
Mobile: +972-(0)58-888377

Know the overall picture


*** Sent via Developersdex http://www.developersdex.com ***
Don't just participate in USENET...get rewarded for it!
 
Reply With Quote
 
 
 
 
KathyB
Guest
Posts: n/a
 
      07-06-2003
Hi Jake, I'm new to this to, but I spent a lot of time figuring this
out (with help from group postings, etc.)

Here are two subs, both use datareader (which IS better than dataset)
if you just want to populate lists. The first one, simply populates a
list from a db table (please note the Not IsPostBack statement,
otherwise you will loose the user selection). The second one uses the
first box as a filter to populate the second listbox. I used
OleDbConnection, but you obviously can easily make this
SQLDbConnection, etc.

Hope these examples help you!

Also, I included a third example to fill just a textbox with a
datareader field from a db. You must use the Read method to select the
first record and test for false().

Kathy

******POPULATE DROPDOWN DROM DB WITH DATAREADER*******

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load

'Put user code to initialize the page here

If Not IsPostBack Then
Dim Conn1 As OleDbConnection
Dim Rdr1 As OleDbDataReader
Dim Cmd1 As OleDbCommand
Dim strSQL As String
Conn1 = New OleDbConnection(strConn)
strSQL = "SELECT DISTINCT Station FROM tblStationUsers ORDER BY
Station"
Cmd1 = New OleDbCommand(strSQL, Conn1)
Conn1.Open()
Rdr1 = Cmd1.ExecuteReader()
cboStation.DataSource = Rdr1
cboStation.DataBind()
cboStation.Items.Insert(0, "Select Station")
cboStation.SelectedIndex = 0
Rdr1.Close()
Conn1.Close()
End If
End Sub

*****POPULATE DROPDOWN FROM DB WITH DATAREADER USING FIRST LIST
SELECTION AS QUERY PARAMETER******

Private Sub cboStation_SelectedIndexChanged(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
cboStation.SelectedIndexChanged

Dim Conn2 As New OleDbConnection()
Dim Rdr2 As OleDbDataReader
Dim strSQL2 As String = "SELECT DISTINCT UserName FROM tblStationUsers
WHERE
([Station] = @Station) ORDER BY UserName"
Dim Cmd2 As New OleDbCommand(strSQL2, Conn2)
Conn2 = New OleDbConnection(strConn)
Dim prmStation As OleDbParameter = New OleDbParameter("@Station",
OleDbType.VarChar, 50)
prmStation.Value = cboStation.SelectedItem.Value
Cmd2.Parameters.Add(prmStation)
Cmd2.Connection = Conn2
Conn2.Open()
Rdr2 = Cmd2.ExecuteReader()
cboUser.DataSource = Rdr2
cboUser.DataBind()
cboUser.Items.Insert(0, "Select User")
cboUser.SelectedIndex = 0
Rdr2.Close()
Conn2.Close()
End Sub

*****FILL TEXTBOX WITH DATAREADER RESULT******
Private Sub cboUser_SelectedIndexChanged(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
cboUser.SelectedIndexChanged

'Get password from db to use in validation of txtpass field
Dim Conn3 As New OleDbConnection()
Dim Rdr3 As OleDbDataReader
Dim strSQL3 As String = "SELECT Password FROM tblUsers WHERE
([UserName] = @UserName)"
Dim Cmd3 As New OleDbCommand(strSQL3, Conn3)
Conn3 = New OleDbConnection(strConn)
Dim prmUserName As OleDbParameter = New OleDbParameter("@UserName",
OleDbType.VarChar, 50)
prmUserName.Value = cboUser.SelectedItem.Value
Cmd3.Parameters.Add(prmUserName)
Cmd3.Connection = Conn3
Conn3.Open()
Rdr3 = Cmd3.ExecuteReader()
If Rdr3.Read() Then
dbPass.Text = Rdr3("Password") 'used to compare to tblUsers
End If
Rdr3.Close()
Conn3.Close()
End Sub






"Jake S" <(E-Mail Removed)> wrote in message news:<#(E-Mail Removed)>...
> Hi all,
>
> Is it possibele to set the datasource of a dropdown list to a datareader?
> When I try to the only column I receive is a column populated by the
> datasource name repeated the amount of times equivilant to the number of
> records returned, instead of the two columns(value and text) I have
> populated the datareader with.
>
> Any ideas?
>
> Thanks in advance
>
> Cheers Jake

 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Affecting a dynamically created drop down from another dynamically created drop down. msimmons ASP .Net 0 07-16-2009 03:17 PM
retrive preselected value in second drop down list from the first drop down list weiwei ASP .Net 0 01-05-2007 07:29 PM
Multiple select drop down poplulating sub drop down scott@dettcom.com Javascript 3 11-09-2006 07:50 PM
Auto Drop down a Drop Down List xxbmichae1@supergambler.com Javascript 5 11-23-2005 01:35 AM
New to .NET, can I have one drop down box control the data of another drop down box using a database? SirPoonga ASP .Net 2 01-07-2005 10:44 PM



Advertisments