By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
440,016 Members | 2,297 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 440,016 IT Pros & Developers. It's quick & easy.

Binding a Datareader to Dropdown

P: n/a
I need some help on binding a datareader to a dropdown box. I have included
the code for the dropdown below. It builds with no errors, but returns no
results. Any help would be appreciated.

private void DropDownList1_SelectedIndexChanged(object sender,
System.EventArgs e)

{

OleDbConnection conn = new OleDbConnection("DataSource=ntdrp001.world;
integrated security =true;"+ "initial catalog = Request");

conn.Open();

OleDbCommand cmd = new OleDbCommand("SELECT distinct(cuid) from Request",
conn);
OleDbDataReader dreader = cmd.ExecuteReader();

DropDownList1.DataSource = dreader;

DropDownList1.DataValueField = "cuid";

DropDownList1.DataTextField = "cuid";

DropDownList1.SelectedIndex = 0;

DropDownList1.DataBind();

dreader.Close();

conn.Close();

}
Nov 18 '05 #1
Share this Question
Share on Google+
4 Replies


P: n/a
First off you need to add the Databind code to the Page_Load section of the
code, not the SelectedIndex Changed section.

Also, the biggest mistake people make when binding data to a dropdown is
that they rebind the data on every Page_Load. So be sure that in your
page_load section of the code you wrap the binding inside an if
(!Page.IsPostBack) block.

So it should look like this:
private void DropDownList1_SelectedIndexChanged(object sender,
System.EventArgs e)
{
// Do something with the changed value
}

private void Page_Load(object sender, System.EventArgs e)
{
if ( !Page.IsPostBack )
{
OleDbConnection conn = new
OleDbConnection("DataSource=ntdrp001.world;
integrated security =true;"+ "initial catalog = Request");
conn.Open();
OleDbCommand cmd = new OleDbCommand("SELECT distinct(cuid) from
Request",
conn);

OleDbDataReader dreader = cmd.ExecuteReader();
DropDownList1.DataSource = dreader;
DropDownList1.DataValueField = "cuid";
DropDownList1.DataTextField = "cuid";
DropDownList1.SelectedIndex = 0;
DropDownList1.DataBind();
dreader.Close();
conn.Close();
}
}

"Brian Conway" <Br**********@qwest.com> wrote in message
news:ek*************@tk2msftngp13.phx.gbl...
I need some help on binding a datareader to a dropdown box. I have included the code for the dropdown below. It builds with no errors, but returns no
results. Any help would be appreciated.

private void DropDownList1_SelectedIndexChanged(object sender,
System.EventArgs e)

{

OleDbConnection conn = new OleDbConnection("DataSource=ntdrp001.world;
integrated security =true;"+ "initial catalog = Request");

conn.Open();

OleDbCommand cmd = new OleDbCommand("SELECT distinct(cuid) from Request",
conn);
OleDbDataReader dreader = cmd.ExecuteReader();

DropDownList1.DataSource = dreader;

DropDownList1.DataValueField = "cuid";

DropDownList1.DataTextField = "cuid";

DropDownList1.SelectedIndex = 0;

DropDownList1.DataBind();

dreader.Close();

conn.Close();

}

Nov 18 '05 #2

P: n/a
You put the code in the SelectedIndexChanged event of the dropdown. That
means you first have to select something from the dropdown, then you need to
go back to the server, and only then will this code run.

Are you sure this is the event you want to place this code in?

"Brian Conway" <Br**********@qwest.com> wrote in message
news:ek*************@tk2msftngp13.phx.gbl...
I need some help on binding a datareader to a dropdown box. I have included the code for the dropdown below. It builds with no errors, but returns no
results. Any help would be appreciated.

private void DropDownList1_SelectedIndexChanged(object sender,
System.EventArgs e)

{

OleDbConnection conn = new OleDbConnection("DataSource=ntdrp001.world;
integrated security =true;"+ "initial catalog = Request");

conn.Open();

OleDbCommand cmd = new OleDbCommand("SELECT distinct(cuid) from Request",
conn);
OleDbDataReader dreader = cmd.ExecuteReader();

DropDownList1.DataSource = dreader;

DropDownList1.DataValueField = "cuid";

DropDownList1.DataTextField = "cuid";

DropDownList1.SelectedIndex = 0;

DropDownList1.DataBind();

dreader.Close();

conn.Close();

}

Nov 18 '05 #3

P: n/a
Ok now I am getting the following error upon moving the code.

Server Error in '/Conference Request' Application.
----------------------------------------------------------------------------
----

No error information available: REGDB_E_CLASSNOTREG(0x80040154).
Description: An unhandled exception occurred during the execution of the
current web request. Please review the stack trace for more information
about the error and where it originated in the code.

Exception Details: System.Data.OleDb.OleDbException: No error information
available: REGDB_E_CLASSNOTREG(0x80040154).

Source Error:

Line 62: {
Line 63: OleDbConnection conn = new
OleDbConnection("Provider=ntdrp001.world; integrated security =true;"+
"initial catalog = Request");
Line 64: conn.Open();
Line 65: OleDbCommand cmd = new OleDbCommand("SELECT distinct(cuid) from
Request", conn);
Line

"Ben Dewey" <be*******@scientiae.com> wrote in message
news:%2****************@TK2MSFTNGP09.phx.gbl...
First off you need to add the Databind code to the Page_Load section of the code, not the SelectedIndex Changed section.

Also, the biggest mistake people make when binding data to a dropdown is
that they rebind the data on every Page_Load. So be sure that in your
page_load section of the code you wrap the binding inside an if
(!Page.IsPostBack) block.

So it should look like this:
private void DropDownList1_SelectedIndexChanged(object sender,
System.EventArgs e)
{
// Do something with the changed value
}

private void Page_Load(object sender, System.EventArgs e)
{
if ( !Page.IsPostBack )
{
OleDbConnection conn = new
OleDbConnection("DataSource=ntdrp001.world;
integrated security =true;"+ "initial catalog = Request");
conn.Open();
OleDbCommand cmd = new OleDbCommand("SELECT distinct(cuid) from Request",
conn);

OleDbDataReader dreader = cmd.ExecuteReader();
DropDownList1.DataSource = dreader;
DropDownList1.DataValueField = "cuid";
DropDownList1.DataTextField = "cuid";
DropDownList1.SelectedIndex = 0;
DropDownList1.DataBind();
dreader.Close();
conn.Close();
}
}

"Brian Conway" <Br**********@qwest.com> wrote in message
news:ek*************@tk2msftngp13.phx.gbl...
I need some help on binding a datareader to a dropdown box. I have

included
the code for the dropdown below. It builds with no errors, but returns no results. Any help would be appreciated.

private void DropDownList1_SelectedIndexChanged(object sender,
System.EventArgs e)

{

OleDbConnection conn = new OleDbConnection("DataSource=ntdrp001.world;
integrated security =true;"+ "initial catalog = Request");

conn.Open();

OleDbCommand cmd = new OleDbCommand("SELECT distinct(cuid) from Request", conn);
OleDbDataReader dreader = cmd.ExecuteReader();

DropDownList1.DataSource = dreader;

DropDownList1.DataValueField = "cuid";

DropDownList1.DataTextField = "cuid";

DropDownList1.SelectedIndex = 0;

DropDownList1.DataBind();

dreader.Close();

conn.Close();

}


Nov 18 '05 #4

P: n/a
You didn't say which line is causing it, I'm guess the connection cannot be
opened. More then likely, it is the integrated security part. You probably
don't have the proper permissions set up for the ASPNET user to be able to
connect to the database.

"Brian Conway" <Br**********@qwest.com> wrote in message
news:ub**************@TK2MSFTNGP11.phx.gbl...
Ok now I am getting the following error upon moving the code.

Server Error in '/Conference Request' Application.
-------------------------------------------------------------------------- -- ----

No error information available: REGDB_E_CLASSNOTREG(0x80040154).
Description: An unhandled exception occurred during the execution of the
current web request. Please review the stack trace for more information
about the error and where it originated in the code.

Exception Details: System.Data.OleDb.OleDbException: No error information
available: REGDB_E_CLASSNOTREG(0x80040154).

Source Error:

Line 62: {
Line 63: OleDbConnection conn = new
OleDbConnection("Provider=ntdrp001.world; integrated security =true;"+
"initial catalog = Request");
Line 64: conn.Open();
Line 65: OleDbCommand cmd = new OleDbCommand("SELECT distinct(cuid) from
Request", conn);
Line

"Ben Dewey" <be*******@scientiae.com> wrote in message
news:%2****************@TK2MSFTNGP09.phx.gbl...
First off you need to add the Databind code to the Page_Load section of the
code, not the SelectedIndex Changed section.

Also, the biggest mistake people make when binding data to a dropdown is
that they rebind the data on every Page_Load. So be sure that in your
page_load section of the code you wrap the binding inside an if
(!Page.IsPostBack) block.

So it should look like this:
private void DropDownList1_SelectedIndexChanged(object sender,
System.EventArgs e)
{
// Do something with the changed value
}

private void Page_Load(object sender, System.EventArgs e)
{
if ( !Page.IsPostBack )
{
OleDbConnection conn = new
OleDbConnection("DataSource=ntdrp001.world;
integrated security =true;"+ "initial catalog = Request");
conn.Open();
OleDbCommand cmd = new OleDbCommand("SELECT distinct(cuid)

from
Request",
conn);

OleDbDataReader dreader = cmd.ExecuteReader();
DropDownList1.DataSource = dreader;
DropDownList1.DataValueField = "cuid";
DropDownList1.DataTextField = "cuid";
DropDownList1.SelectedIndex = 0;
DropDownList1.DataBind();
dreader.Close();
conn.Close();
}
}

"Brian Conway" <Br**********@qwest.com> wrote in message
news:ek*************@tk2msftngp13.phx.gbl...
I need some help on binding a datareader to a dropdown box. I have

included
the code for the dropdown below. It builds with no errors, but
returns no results. Any help would be appreciated.

private void DropDownList1_SelectedIndexChanged(object sender,
System.EventArgs e)

{

OleDbConnection conn = new OleDbConnection("DataSource=ntdrp001.world;
integrated security =true;"+ "initial catalog = Request");

conn.Open();

OleDbCommand cmd = new OleDbCommand("SELECT distinct(cuid) from Request", conn);
OleDbDataReader dreader = cmd.ExecuteReader();

DropDownList1.DataSource = dreader;

DropDownList1.DataValueField = "cuid";

DropDownList1.DataTextField = "cuid";

DropDownList1.SelectedIndex = 0;

DropDownList1.DataBind();

dreader.Close();

conn.Close();

}



Nov 18 '05 #5

This discussion thread is closed

Replies have been disabled for this discussion.