CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  ASP.NET

求救:如何绑定dropdownlist到数据库?

楼主wilens(巫巫)2006-03-19 22:26:56 在 .NET技术 / ASP.NET 提问

四个表:expweek(week),expday(day),experchoose(userid,experid,week,day),experdemand(experid,expertitle,expercontent);  
  其中我要将dropdownlist1绑定到expweek表中的week字段,dropdownlist2绑定到expdayk表中的day字段  
  我是要让学生选择第几周(expweek(week))星期几(expday(day))做什么实验(experchoose(experid))。显示时用datagrid绑定到experdemand列出所有的实验让学生选择?  
  datagrid.source=objDs.Tables["ExperDemand"].DefaultView;那dropdownlist1、dropdownlist2该怎么绑定?  
  还有其他问题我都不知如何下手,还望指点  
  问题点数:20、回复次数:7Top

1 楼artak(甜葡萄)回复于 2006-03-20 12:58:49 得分 5

SqlConnection   cn   =   new   SqlConnection("server=.;database=DB;uid=sa;pwd=sa");  
  SqlDataAdapter   da   =   new   SqlDataAdapter("select   *   from     expweek",cn);  
  DataSet   ds   =   new   DataSet();  
  da.Fill(ds);  
  dropdownlist1.DataSource   =   ds;  
  dropdownlist1.DataTextField   =     week;//这里是显示的  
  dropdownlist1.DataValueField   =     value;//value是主健  
  dropdownlist1.DataBind();Top

2 楼wilens(巫巫)回复于 2006-03-20 14:31:13 得分 0

可能我没说清楚。  
  我的意思是让学生选择第几周(expweek(week))星期几(expday(day))做什么实验(experchoose(experid))并将记录保存在experchoose(userid,experid,week,day)。也就是学生刚选择时dropdownlist1(绑定week)、dropdownlist2(绑定day)、experid都在同一个datagrid,也就是一个datagrid的数据源由三个独立的数据表组成。  
  是不是可以用findcontrol实现,具体代码怎样实现?  
  非常感谢楼上的热心指点,小弟不才,还望多多指点。Top

3 楼robert2004(我能发财)回复于 2006-03-20 16:27:01 得分 2

绝对复杂  
   
   
  ---------------------------  
  苦海无边   回头无岸  
  ---------------------------  
   
  Top

4 楼New919(LonePraogrammer)回复于 2006-03-20 16:30:03 得分 13

public   int   BindDropDownItem(string   pDataBase   ,   string   pStrTextField   ,   string   pStrValueField   ,   string   pStrTableName   ,   DropDownList   pList)  
  {  
  try  
  {  
  string   _StrSQL   =   "select   "   +   pStrTextField   +   "   ,   "   +   pStrValueField   +   "   from   "   +   pStrTableName;  
  BEMBasic.CreateConnectionString(pDataBase);  
  BEM.BEM_MyDB   db   =   new   BEM_MyDB();  
  DataTable   _DT   =   db.GetDataTable(_StrSQL);  
  pList.DataSource   =   _DT;  
  pList.DataTextField   =   pStrTextField;  
  pList.DataValueField   =   pStrTextField;  
  pList.DataBind();  
  return   0;  
  }  
  catch   (Exception   ex)  
  {  
  return   -1;  
  }  
  }Top

5 楼wilens(巫巫)回复于 2006-03-20 17:11:59 得分 0

error:未将对象引用设置到对象的实例。    
  说明:   执行当前   Web   请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。    
   
  异常详细信息:   System.NullReferenceException:   未将对象引用设置到对象的实例。  
   
  源错误:    
   
   
  行   108: objDaDayTemp.Fill(objDsTime,"ExperDay");  
  行   109: DropDownList   ddlWeekTemp   =   (DropDownList)e.Item.FindControl("ddlExperWeek");    
  行   110: ddlWeekTemp.DataSource=objDsTime.Tables["ExperWeek"];    
   
  html:  
  未将对象引用设置到对象的实例。    
  说明:   执行当前   Web   请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。    
   
  异常详细信息:   System.NullReferenceException:   未将对象引用设置到对象的实例。  
   
  源错误:    
   
   
  行   108: objDaDayTemp.Fill(objDsTime,"ExperDay");  
  行   109: DropDownList   ddlWeekTemp   =   (DropDownList)e.Item.FindControl("ddlExperWeek");    
  行   110: ddlWeekTemp.DataSource=objDsTime.Tables["ExperWeek"];    
     
  cs:  
  private   void   dgExper_ItemDataBound(object   sender,   System.Web.UI.WebControls.DataGridItemEventArgs   e)  
  {  
  string   strSelWeek   =   "Select   *   from   ExperWeek";  
  string   strSelDay   =   "Select   *   from   ExperDay";  
  SqlConnection   objConnection   =   new   SqlConnection(strConnection);  
  objConnection.Open();  
  SqlDataAdapter   objDaWeekTemp   =   new   SqlDataAdapter(strSelWeek,objConnection);  
  SqlDataAdapter   objDaDayTemp   =   new   SqlDataAdapter(strSelDay,objConnection);  
  DataSet   objDsTime   =   new   DataSet();  
  objDaWeekTemp.Fill(objDsTime,"ExperWeek");  
  objDaDayTemp.Fill(objDsTime,"ExperDay");  
  DropDownList   ddlWeekTemp   =   (DropDownList)e.Item.FindControl("ddlExperWeek");    
  ddlWeekTemp.DataSource=objDsTime.Tables["ExperWeek"];    
  ddlWeekTemp.DataValueField="ExpWeek";    
  ddlWeekTemp.DataBind();    
  ddlWeekTemp.Items.Insert(0,new   ListItem("请选择",""));    
  DropDownList   ddlDayTemp   =   (DropDownList)e.Item.FindControl("ddlExperDay");    
  ddlDayTemp.DataSource=objDsTime.Tables["ExperDay"];    
  ddlDayTemp.DataValueField="ExpDay";    
  ddlDayTemp.DataBind();    
  ddlDayTemp.Items.Insert(0,new   ListItem("请选择",""));    
  objConnection.Close();  
  }  
  找了很久,没找出疑点,还请赐教    
  Top

6 楼wilens(巫巫)回复于 2006-03-20 17:13:18 得分 0

html:  
  <asp:datagrid   id="dgExper"   runat="server"   CssClass="border"   CellPadding="5"   BorderWidth="0px"  
  CellSpacing="1"   AutoGenerateColumns="False">  
  <ItemStyle   CssClass="item"></ItemStyle>  
  <HeaderStyle   CssClass="header"></HeaderStyle>  
  <Columns>  
  <asp:TemplateColumn   HeaderText="选中">  
  <ItemTemplate>  
  <asp:CheckBox   ID="chbExper"   runat="server"></asp:CheckBox>  
  </ItemTemplate>  
  </asp:TemplateColumn>  
  <asp:TemplateColumn   HeaderText="第几周">  
  <ItemTemplate>  
  <asp:DropDownList   ID="ddlExperWeek"   Runat="server"></asp:DropDownList>  
  </ItemTemplate>  
  </asp:TemplateColumn>  
  <asp:TemplateColumn   HeaderText="星期几">  
  <ItemTemplate>  
  <asp:DropDownList   ID="ddlExperDay"   Runat="server"></asp:DropDownList>  
  </ItemTemplate>  
  </asp:TemplateColumn>  
  <asp:TemplateColumn   HeaderText="实验标题">  
  <ItemTemplate>  
  <asp:HyperLink   Text='<%#   DataBinder.Eval(Container.DataItem,"ExpDemTitle").ToString()   %>'   Target=_blank   NavigateUrl='<%#   "..\\expdemview.aspx?id="+DataBinder.Eval(Container.DataItem,"ExpDemID").ToString()   %>'   runat="server"   ID="hplExper"   />  
  <asp:Label   ID="lblExpDemID"   Text='<%#   DataBinder.Eval(Container.DataItem,"ExpDemID").ToString()   %>'   runat="server"   Visible="false"   />  
  </ItemTemplate>  
  </asp:TemplateColumn>  
  </Columns>  
  </asp:datagrid>Top

7 楼wilens(巫巫)回复于 2006-03-20 20:32:31 得分 0

怎样让datagrid在private   void   Page_Load(object   sender,   System.EventArgs   e)   {...}就处于编辑状态,   我知道“error:未将对象引用设置到对象的实例”错误的原因了,  
  <ItemTemplate>  
  <asp:DropDownList   ID="ddlExperDay"   Runat="server"></asp:DropDownList>  
  </ItemTemplate>  
  是不是dropdownlist不能放在ItemTemplate,只能放在EditItemTemplate?  
  小弟见识肤浅,还望各位多多指点。。。Top

相关问题

  • TemplateColumn的dropdownlist如何绑定数据库?
  • dropdownlist绑定数据库有问题
  • 无刷新关联DropDownList从数据库绑定
  • 怎么在绑定数据库后的dropdownlist上添加新项?
  • DropDownList控件绑定数据库后 怎么另外添加选项,不在数据库中添加
  • 数据库绑定右键
  • datalist绑定数据库??
  • treeview 绑定数据库
  • 请教DropDownList的数据库绑定问题,成功后立即给分!
  • 如何将dropdownlist控件绑定到数据库中的一个字段??

关键词

  • 代码
  • 学生
  • objdstime
  • dropdownlist
  • ddlweektemp
  • experid
  • expweek
  • experweek
  • experchoose
  • experday

得分解答快速导航

  • 帖主:wilens
  • artak
  • robert2004
  • New919

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo