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

helloqiqi 2003-09-14 02:22:57
如题
...全文
59 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设为字段名即可。
内容概要:本文详细介绍了“秒杀商城”微服务架构的设计与实战全过程,涵盖系统从需求分析、服务拆分、技术选型到核心功能开发、分布式事务处理、容器化部署及监控链路追踪的完整流程。重点解决了高并发场景下的超卖问题,采用Redis预减库存、消息队列削峰、数据库乐观锁等手段保障数据一致性,并通过Nacos实现服务注册发现与配置管理,利用Seata处理跨服务分布式事务,结合RabbitMQ实现异步下单,提升系统吞吐能力。同时,项目支持Docker Compose快速部署和Kubernetes生产级编排,集成Sleuth+Zipkin链路追踪与Prometheus+Grafana监控体系,构建可观测性强的微服务系统。; 适合人群:具备Java基础和Spring Boot开发经验,熟悉微服务基本概念的高级研发人员,尤其是希望深入理解高并发系统设计、分布式事务、服务治理等核心技术的开发者;适合工作2-5年、有志于转型微服务或提升架构能力的工程师; 使用场景及目标:①学习如何基于Spring Cloud Alibaba构建完整的微服务项目;②掌握秒杀场景下高并发、超卖控制、异步化、削峰填谷等关键技术方案;③实践分布式事务(Seata)、服务熔断降级、链路追踪、统一配置心等企业级间件的应用;④完成从本地开发到容器化部署的全流程落地; 阅读建议:建议按照文档提供的七个阶段循序渐进地动手实践,重点关注秒杀流程设计、服务间通信机制、分布式事务实现和系统性能优化部分,结合代码调试与监控工具深入理解各组件协作原理,真正掌握高并发微服务系统的构建能力。
MATLAB基于3D FDTD的微带线馈矩形天线分析[用于模拟超宽带脉冲通过线馈矩形天线的传播,以计算微带结构的回波损耗参数]内容概要:本文介绍了基于3D FDTD(时域有限差分)方法在MATLAB平台上对微带线馈电的矩形天线进行分析的技术方案,旨在模拟超宽带脉冲通过该天线结构的传播过程,并重点计算微带结构的回波损耗参数。该方法通过数值仿真手段精确建模电磁波在天线的传播特性,适用于高频电磁场仿真与天线性能评估,能够有效支持天线设计优化。文可能涵盖FDTD算法的基本原理、网格划分、边界条件设置、激励源配置及结果后处理等关键环节。; 适合人群:具备电磁场与微波技术基础知识,熟悉MATLAB编程,从事天线设计、射频工程或相关领域研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①开展超宽带天线的设计与性能仿真;②研究微带天线在脉冲激励下的瞬态响应特性;③计算和优化天线的回波损耗(S11参数),提升匹配性能;④教学与科研用于电磁仿真方法的实践训练。; 阅读建议:建议读者结合FDTD理论基础与MATLAB编程实践,逐步实现仿真流程,重点关注时间步长、空间网格精度和边界条件对仿真结果的影响,并通过对比仿真与实测数据验证模型准确性。

62,254

社区成员

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

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

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

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