从代码错误位置可以看出,程序直接执行的Category_Select过程,却跳过了page_load过程,我在这里设置断点也根本不能到达~这是什么原因吖?其他程序都可以正常执行~

解决方案 »

  1.   

    你的myconnection在使用之前,应该执行myconnection.open方法
      

  2.   

    wangyuneu(多心男孩) 朋友,不是数据连接的问题,如果我把Category_Select过程中的MyCommand = New SQLDataAdapter("select * from infor where dept='"Category.SelectedItem.Value & "'", MyConnection) 
    改为
    MyCommand = New SQLDataAdapter("select * from infor where dept='1'", MyConnection) 就可以执行了,但是失去了原来根据下拉框筛选数据的功能了
      

  3.   

    问题出在这里
    MyCommand = New SQLDataAdapter("select * from infor where dept='"Category.SelectedItem.Value & "'", MyConnection) 
    执行到这里的时候你的Category.SelectedItem.Value并没有获得。
    你应该把对于category的处理放在MyCommand执行的前面。
    再注意看一下你的category有没有绑定
      

  4.   

    MyCommand = New SQLDataAdapter("select * from infor where dept='"&Category.SelectedItem.Value & "'", MyConnection) 
    这样可不可以
    或是再把Category.SelectedItem.Value 改成Category.SelectedItem.text
      

  5.   

    你可以在page_load函数里,使用category.items.add方法动态添加,这样你就可以引用了
      

  6.   

    关键是page_load根本没有执行吖
    至于Category.SelectedItem.Value的值不是在这里有了吗?
    <ASP:DropDownList AutoPostBack="true" id="Category" OnSelectedIndexChanged="Category_Select" runat="server">
    <ASP:ListItem value="信息系" Selected>信息系</ASP:ListItem>
    <ASP:ListItem value="工程系">工程系</ASP:ListItem>
    <ASP:ListItem value="英语系">英语系</ASP:ListItem>
    </ASP:DropDownList>
      

  7.   

    <ASP:DropDownList AutoPostBack="true" id="Category" OnSelectedIndexChanged="Category_Select" runat="server">
    <ASP:ListItem value="信息系" Selected>信息系</ASP:ListItem>
    <ASP:ListItem value="工程系">工程系</ASP:ListItem>
    <ASP:ListItem value="英语系">英语系</ASP:ListItem>
    </ASP:DropDownList>
      

  8.   

    虽然你在声明控件时候各个listitem有value属性值,但是在执行page_load的时候,还没有selecteditem,也就是没有选择某一项,这时候selecteditem是不可用的。你可以在使用之前,设置Category.selectedIndex = 0,这样才表示你选择了一项。才能正常执行过去
    Category.SelectedItem.Value
      

  9.   

    我加上Category.selectedIndex = 0了,还是出错,你执行通过了吗?
    下面是SQL代码,你在sql里面执行一下,添加三条数据即可if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[infor]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
    drop table [dbo].[infor]
    GOCREATE TABLE [dbo].[infor] (
    [id] [int] IDENTITY (1, 1) NOT NULL ,
    [name] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
    [sex] [varchar] (5) COLLATE Chinese_PRC_CI_AS NULL ,
    [grade] [int] NULL ,
    [dept] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL 
    ) ON [PRIMARY]
    GOinfor表中有如下三条数据:
    use data
    insert into infor values('a','男','2','信息系')
    insert into infor values('b','男','2','工程系')
    insert into infor values('c','男','2','英语系')
      

  10.   

    我使用的是.net7.0的集成开发环境,我调试了一下,可以正常运行。
    页面出现的时候没有显示,只有当选择发生改变时,会显示相应的记录信息。有以下改动:
    MyCommand = New SqlDataAdapter("select * from infor where dept='" & Category.SelectedItem.Value & "'", MyConnection)价格"&"符号。