我是一个不和计算机沾边的工作,想环个环境自己学ASP.NET遇见了一个错误,大家帮我下
错误信息
================
Fill: SelectCommand.Connection 属性尚未初始化。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.InvalidOperationException: Fill: SelectCommand.Connection 属性尚未初始化。源错误: 
行 12:                Comm.CommandText="Select * From datagridtest"
行 13:                Ad.SelectCommand=Comm
行 14:                Ad.Fill(Ds,"datagridtset")
行 15:                '数据绑定
行 16:                DataGrid1.DataSource=Ds.Tables("datagridtest")
 ===============================
下面是我的代码
<%@Import NameSpace="System.Data.SqlClient"%>
<%@Import NameSpace="System.Data"%>
<Script language="VB" runat="Server">
        Dim Conn As New SqlClient.SqlConnection()
        Dim Comm As New SqlClient.SqlCommand()
        Dim Ad As New SqlClient.SqlDataAdapter()
        Dim Ds As New DataSet()
        Sub Page_load(Byval Sender As Object,Byval E As Eventargs)
            If Not Page.isPostBack Then
               Conn.ConnectionString="Server=LocalHost;DataBase=datagrid;User id=sa;Password=066"
               Conn.Open()
               Comm.CommandText="Select * From datagridtest"
               Ad.SelectCommand=Comm
               Ad.Fill(Ds,"datagridtset")
               '数据绑定
               DataGrid1.DataSource=Ds.Tables("datagridtest")
               '启动数据绑定
               DataGrid1.DataBind()
            End If   
        End Sub
</Script>
<Form runat="Server" method="post">
<asp:DataGrid id="DataGrid1" Runat="Server" Width="760px"></asp:DataGrid>
</Form>

解决方案 »

  1.   

    Ad.Fill(Ds,"datagridtset")
    没有在DataSet里定义这个表吧
    Ad.Fill(Ds)看看。
      

  2.   


    Ad.SelectCommand.CommandType=CommandType.Text;
    Comm.CommandText="Select * From datagridtest";
    Ad.SelectCommand=Comm;
      

  3.   

    Comm.Connection=conn(conn为你声明的连接数据库的变量
      

  4.   

    Sub Page_load(Byval Sender As Object,Byval E As Eventargs)
                If Not Page.isPostBack Then
                   Conn.ConnectionString="Server=LocalHost;DataBase=datagrid;User id=sa;Password=066"
                   Comm.CommandText="Select * From datagridtest"
                   Comm.Connection=Conn               Ad.SelectCommand=Comm
                   Ad.Fill(Ds,"datagridtset")
                   '数据绑定
                   DataGrid1.DataSource=Ds.Tables("datagridtest")
                   '启动数据绑定
                   DataGrid1.DataBind()
                End If   
            End Sub
    设置command.Connection=当前的connection
    去掉conn.Open()
    因为用了SqlDataAdaper自己会打开数据库,填充完毕会自己关闭,如果你显式打开还要显式关闭.