如何让DropDownList自动取得一张数据表中的全部字段?(在线等待!)

helloqiqi 2003-09-14 02:22:57
如题
...全文
33 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
nedvedlh 2003-09-14
  • 打赏
  • 举报
回复
OleDbConnection ConnectXxwgl = new OleDbConnection(ConfigurationSettings.AppSettings["ConnXxwgl"]);
string strMc = "select mc from xxwt_yygzz ";
OleDbCommand OlecmdInfo2 = new OleDbCommand(strMc,ConnectXxwgl);
ConnectXxwgl.Open();
OleDbDataReader OleReader2;
OleReader2 = OlecmdInfo2.ExecuteReader();
ddlyygzz.DataSource = OleReader2;
ddlyygzz.DataTextField ="mc";
ddlyygzz.DataBind();
OleReader2.Close();
ConnectXxwgl.Close();

或者
OleDbConnection Conmispt= new OleDbConnection(ConfigurationSettings.AppSettings["connectmispt"]);
//绑定部门名称
string StrBmmc = "select distinct d.bmmc,d.bmbh from ptt_ry_js a,ptt_js_ejrw b,ptt_ry c ,ptt_bm d where a.JSBH = b.JSBH and b.ejrwbh = '289' and b.xtbh ='14' and a.rybh = c.rybh and c.bmbh = d.bmbh";
OleDbDataAdapter OleadpBm=new OleDbDataAdapter(StrBmmc,Conmispt);
DataSet dsBm = new DataSet();
OleadpBm.Fill(dsBm,"ptt_bm");
DataRowCollection myrows = dsBm.Tables["ptt_bm"].Rows;
if (myrows.Count>0)
{
for(int k=0;k<myrows.Count;k++)
{
ddltjbm.Items.Add(new ListItem(myrows[k]["bmmc"].ToString().Trim(),myrows[k]["bmbh"].ToString().Trim()));
// ddltjbm2.Items.Add(new ListItem(myrows[k]["bmmc"].ToString().Trim(),myrows[k]["bmbh"].ToString().Trim()));
}
}
helloqiqi 2003-09-14
  • 打赏
  • 举报
回复
终于可以啦!谢谢webdiyer(陕北吴旗娃)!以后还请帮助我啊
webdiyer 2003-09-14
  • 打赏
  • 举报
回复
有两个方法,第一个用SqlDataReader来实现,象这样:

void Page_Load(object src,EventArgs e){
if(!Page.IsPostBack){
SqlConnection conn=new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"]);
SqlCommand cmd=new SqlCommand("select * from authors where 1=2",conn);
conn.Open();
SqlDataReader reader=cmd.ExecuteReader(CommandBehavior.CloseConnection);
for(int i=0;i<reader.FieldCount;i++){
DropDownList1.Items.Add(new ListItem(reader.GetName(i)));
}
reader.Close();
}
}

第二种方法用DataTable来实现:

void Page_Load(object src,EventArgs e){
if(!Page.IsPostBack){
SqlConnection conn=new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"]);
SqlDataAdapter adapter=new SqlDataAdapter("select * from authors where 1=2",conn);
DataTable table=new DataTable();
adapter.Fill(table);
for(int i=0;i<table.Columns.Count;i++){
DropDownList1.Items.Add(new ListItem(table.Columns[i].Caption));
}
}
}
helloqiqi 2003-09-14
  • 打赏
  • 举报
回复
字段也就是表的列名
helloqiqi 2003-09-14
  • 打赏
  • 举报
回复
可能我表达的不对吧,比如一张有person表,字段有:name,age,sex,city四个.我要把这四个字段显示到dropdownlist上面,而不是把所有的数据显示上去。
supercdz 2003-09-14
  • 打赏
  • 举报
回复
DropDownList最多只能绑定2个字段,就是ITem的text 和 value 属性
webdiyer 2003-09-14
  • 打赏
  • 举报
回复
你是要显示表的所有字段名吧?所有的字段怎么能绑到DropDownList上??
helloqiqi 2003-09-14
  • 打赏
  • 举报
回复
我的意思是要在dropdownlist中显示所有的一张表里面的所有字段,虽然可以在Items中手工添加,但是如果那张表的结构变了,我又要重新修改了。
helloqiqi 2003-09-14
  • 打赏
  • 举报
回复
不是啊,我要绑定表中所有的字段。怎么做啊?
clxxj 2003-09-14
  • 打赏
  • 举报
回复
同意webdiyer(陕北吴旗娃) 的说法!
webdiyer 2003-09-14
  • 打赏
  • 举报
回复
你不是只绑定一个字段吗?选一个字段就行了,用 select * 性能会有所下降,示例:

private void Page_Load(object sender, System.EventArgs e)
{
if(!Page.IsPostBack){
SqlConnection conn=new SqlConnection("server=QIQI;database=pubs;uid=sa;pwd=1;");
SqlDataAdapter adapter=new SqlDataAdapter("select 字段1 from authors",conn);
DataTable table=new DataTable();
adapter.Fill(table);
this.DropDownList1.DataTextField="字段1";
this.DropDownList1.DataValueField="字段1";
this.DropDownList1.DataSource=table;
this.DropDownList1.DataBind();
}
}

helloqiqi 2003-09-14
  • 打赏
  • 举报
回复
哈哈,还是webdiyer帮我啊,请帮忙看一下是这样绑定吗?
private void Page_Load(object sender, System.EventArgs e)
{
SqlConnection conn=new SqlConnection("server=QIQI;database=pubs;uid=sa;pwd=1;");
SqlDataAdapter adapter=new SqlDataAdapter("select * from authors",conn);
DataSet ds=new DataSet();
adapter.Fill(ds);
this.DropDownList1.DataSource=ds;

this.DropDownList1.DataBind();

}
webdiyer 2003-09-14
  • 打赏
  • 举报
回复
把该字段绑定到DropDownList上,把它的DataTextField和DataValueField设为字段名即可。

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧