select-vs2010C#Web开发3个Dropdown控件从sql数据库中的4个表显示数据

问题描述

vs2010C#Web开发3个Dropdown控件从sql数据库中的4个表显示数据
实现效果:第一个下拉控件是选择学院,第二个下拉控件是选择系部,第三个下拉控件是选择班级。
从网上找了个后台代码:
前台:

 <%@ Page Language=""C#"" AutoEventWireup=""true"" CodeFile=""StudInfo.aspx.cs"" Inherits=""Modules_StudInfo"" %><!DOCTYPE html PUBLIC ""-//W3C//DTD XHTML 1.0 Transitional//EN"" ""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd""><html xmlns=""http://www.w3.org/1999/xhtml""><head runat=""server"">    <title></title></head><body>    <form id=""form1"" runat=""server"">    <div align=""center"">    请选择学院:<asp:DropDownList ID=""drdlXY"" runat=""server"">        </asp:DropDownList><br />    请选择系部:<asp:DropDownList ID=""drdlXB"" runat=""server"">        </asp:DropDownList><br />    请选择班级:<asp:DropDownList ID=""drdlCL"" runat=""server"">        </asp:DropDownList><br />        <asp:Repeater ID=""Repeater1"" runat=""server"">        </asp:Repeater>    </div>    </form></body></html>

后台代码:

 using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using System.Data;using System.Data.SqlClient;using System.Configuration;public partial class Modules_StudInfo : System.Web.UI.Page{    protected void Page_Load(object sender EventArgs e)    {        if (!IsPostBack)        {            string ConnString = ConfigurationSettings.AppSettings[""SqlConnString""];            SqlConnection Conn = new SqlConnection(ConnString);            try            {                Conn.Open();                this.drdlXY.Items.Add(""请选择!"");                this.drdlXB.Items.Add(""请选择!"");                this.drdlCL.Items.Add(""请选择!"");                string strSQL = ""select XueYuanName from XueYuan select XiBuName from XiBu select ClassName from Class"";                SqlCommand com = new SqlCommand(strSQL Conn);                SqlDataReader dr = com.ExecuteReader();                if(dr.Read())                {                    this.drdlXY.Items.Add(dr[""XueYuanName""].ToString());                    this.drdlXB.Items.Add(dr[""XiBuName""].ToString());                    this.drdlCL.Items.Add(dr[""ClassName""].ToString());                }            }            //catch (Exception ex)            //{            //    Response.Write(""<scirpt>alert('"" + ex.Message.ToString() + ""')</script>"");            //}            finally            {                Conn.Close();            }        }    }}

但是这个出不来,如果把while中的后两个删掉,sql语句中只输入select XuYuanName from XuYuan 就不会提示错误,但是只有第一个下拉控件能实现功能。
显示错误

解决方案

 我想楼主所谓的 while应该是指if 这段代码:if(dr.Read())                {                    this.drdlXY.Items.Add(dr[""XueYuanName""].ToString());                    this.drdlXB.Items.Add(dr[""XiBuName""].ToString());                    this.drdlCL.Items.Add(dr[""ClassName""].ToString());                }

你要具体说明一下你的错误信息是什么

看完你的SQL语句,我知道问题在哪里了,问题出在你的SQL语句上:

string strSQL = ""select XueYuanName from XueYuan select XiBuName from XiBu select ClassName from Class"";

你换成这段试试:

string strSQL = ""select XueYuanName,XiBuName,ClassName from XueYuan XiBu Class"";

解决方案二:
你的代码中哪里有while?
报什么错也没说。

解决方案三:
if(dr.Read())
->while(dr.Read())

从来没有见过 string strSQL = ""select XueYuanName from XueYuan select XiBuName from XiBu select ClassName from Class"";

这个样的查询语句,完全可以在sql MMS中 创建视图,在cs中根据selectindex的改变查询对应视图中的数据并绑定到控件上。

时间: 2024-10-30 03:46:23

select-vs2010C#Web开发3个Dropdown控件从sql数据库中的4个表显示数据的相关文章

net-.NET报表控件Stimulsoft Reports.Net中,应该在何时附加数据?

问题描述 .NET报表控件Stimulsoft Reports.Net中,应该在何时附加数据? 在.NET报表控件Stimulsoft Reports.Net中,应该在报表加载前还是报表加载后附加数据? 解决方案 报表控件Stimulsoft Reports数据字段的使用方法 解决方案二: 都可以.示例如下: 示例1: C# StiReport report = new StiReport(); report.Load("MyReport.mrt"); report.RegData(&

关于Menu控件的StaticMenuItemStyle-CssClass属性中的border样式不显示问题???

问题描述 代码如下:<htmlxmlns="http://www.w3.org/1999/xhtml"><headid="Head1"runat="server"><styletype="text/css">.tab{border:solid1pxblack;padding:2px10px;}</style><title></title></head

在ASP网页中实现dropdown控件动态添加选项

动态|控件|网页 一.问题的提出 Active Server Pages(ASP)是服务器端脚本编写的环境,它可以组合 HTML 页.脚本命令和 ActiveX 组件的功能创建和运行动态.交互的Web应用程序.然而ASP网页制作中,在使用dropdown下拉选择框控件时,通常只能对固定值进行选择,不能添加新的选项,给实际应用带来很大的不便.为了增强dropdown控件具有动态添加选项的功能,本文提供了一种将textbox控件和dropdown控件相结合的方法,使dropdown控件实现了自由添加

ASP.NET移动开发之讲解SelectionList控件

asp.net|select|控件 正如前面提及的那样,SelectionList控件适用于呈现较短列表的数据项.尽管它不具备对长列表的分页显示功能,但是它的呈现形式是丰富多样的.只要设备浏览器支持,SelectionList控件可以以下拉列表.单项按钮.多选按钮和复选框等众多形式存在. SelectionList控件的列表中只有一个可视的数据项,其它的数据项只能以隐藏值的形式与可视的数据项进行关联.要在服务器控件语法中指定隐藏值,可以在<Item>元素中使用Value属性,并且将Value属

一起学Windows Phone 7开发(八.BingMap控件)

对于地图来说,很多人都知道goolemap,其实微软也有自已的map api,而且一点也不比google的差.对于微软的BingMap来说,目前有多个版本可用(Bing Maps AJAX Control, Bing Maps Silverlight Control, Bing Maps Web Services.)其中用在silverlight上的控件,也一样可以用在WP7上.如果在新版SDK下无法编译,就需要把 silverlight4下的System.Windows.Browser.dll

VC2005从开发MFC ActiveX ocx控件到发布到.net网站的全部过程

开篇语:最近在弄ocx控件发布到asp.net网站上使用,就是用户在使用过程中,自动下载安装ocx控件.(此文章也是总结了网上好多人写的文章,我只是汇总一下,加上部分自己的东西,在这里感谢所有在网上发表相关内容的朋友们.) ActiveX控件用于Web的过程是将控件嵌入主页中,用户通过浏览器访问该主页时,将主页中的控件下载,并在用户机器上注册,以后就可在用户的浏览器上运行.控件下载一次后就驻留在用户本地机器上,下次再访问相同的主页时,可不再下载该控件,而是直接运行用户本地的控件.这里控件容器就是

ASP.NET控件开发 - 概念和HelloWorld控件

今天我们来看一下如何开发自己的ASP.NET控件.要开发ASP.NET控件首先必须知道一些控件开发的常用基类.如下:1)Control  这是所有控件的基类,所有控件都直接我间接继承它. 2)WebControl  用于开发简单控件,它和Control的区别就是:      WebControl不但继承了Control的所有属性,还增加      了布局,可访问性,外观样式等特性.   (我们等下的HellowWorld控件就要继承它) 3)CompositeControl  用于开发组合控件,

向 Web 窗体页添加 Repeater 控件

web|控件   向页添加 Repeater Web 服务器控件需要若干步骤.下列过程描述创建一个工作的 Repeater 控件必须执行的最少步骤. 向 Web 窗体页添加 Repeater Web 服务器控件 向 Web 窗体页添加一个数据源.有多种方法可处理页上的数据.若要选择适当的方法,请参见 ADO.NET 数据访问介绍和对 Web 窗体页中数据访问的介绍. 在"设计"视图中,从"工具箱"的"Web 窗体"选项卡将 Repeater 控件

开发自己的Excell控件

excel|控件 对于程序员特别是从事信息管理编程的程序员来说,报表打印是整个编程过程中最麻烦但又必须做的事情,我们常用的方法就是: 一.将数据库记录导出到Excell中: 二.用CrystalReport或ActiveReport等报表工具生成报表文件然后再在程序中调用: 三.直接打印窗体: 对于第一种方法网上有许多文章介绍了怎样将数据表记录导入到Excell中并怎样控件Excell单元格式以便做出合适的报表,但是这种方法也有许多不便之处,一是用户的计算机上必须安装Excell,这显然不现实(