asp.net中使用oledb的动态菜单绑定

asp.net中使用oledb的动态菜单绑定,asp.net,sql,oracle,Asp.net,Sql,Oracle,如果我在asp.net中使用Sql Server数据库进行动态菜单绑定,它会在页面上显示菜单和子菜单项。但另一方面,如果我使用oracle数据库进行菜单绑定,它不会在页面上显示菜单项。它会在运行时显示菜单控件空白 Sql连接性 try { Response.Cache.SetCacheability(HttpCacheability.NoCache); DataSet ds = new DataSet(); string connStr = "server=webserv

如果我在asp.net中使用Sql Server数据库进行动态菜单绑定,它会在页面上显示菜单和子菜单项。但另一方面,如果我使用oracle数据库进行菜单绑定,它不会在页面上显示菜单项。它会在运行时显示菜单控件空白

Sql连接性

try
{
    Response.Cache.SetCacheability(HttpCacheability.NoCache);
    DataSet ds = new DataSet();
    string connStr = "server=webserver;uid=sa;pwd=sa;database=amit;";
    using (SqlConnection conn = new SqlConnection(connStr))
    {

        string sql = "Select Menuid, subheadname, Description, ParentID, url from Menumaster where typeno like '%" + Session["user_type"].ToString().Trim() + "%' and prno is not null";
        SqlDataAdapter da = new SqlDataAdapter(sql, conn);
        da.Fill(ds);
        da.Dispose();
    }

    ds.DataSetName = "Menus";
    ds.Tables[0].TableName = "Menu";
    DataRelation relation = new DataRelation("ParentChild",
                                    ds.Tables[0].Columns["Menuid"],
                                    ds.Tables[0].Columns["ParentID"], false);

    relation.Nested = true;
    ds.Relations.Add(relation);
    xmlDataSource.Data = ds.GetXml();
}
catch
{
    Response.Redirect("Error.aspx");
}
Try
    Response.Cache.SetCacheability(HttpCacheability.NoCache)
    Dim constr As String = 
        System.Configuration.ConfigurationManager.ConnectionString("ConnectionString").ConnectionString
    Dim ds As DataSet = New DataSet()
    Using conn As New OleDbConnection(constr)
        Dim str As String = "Select Menuid, subheadname,Description, ParentID,url from dtl_Menumaster where prno is not null ORDER BY MENUID"
        Dim da As OleDbDataAdapter = New OleDbDataAdapter(str, conn)
        da.Fill(ds)
        da.Dispose()
    End Using

    ds.DataSetName = "Menus"
    ds.Tables(0).TableName = "Menu"
    Dim relation As DataRelation = New DataRelation("ParentChild",
    ds.Tables(0).Columns("Menuid"),
    ds.Tables(0).Columns("ParentID"), True)

    relation.Nested = True
    ds.Relations.Add(relation)
    xmlDataSource.Data = ds.GetXml()
Catch ex As Exception

End Try
oracle连接

try
{
    Response.Cache.SetCacheability(HttpCacheability.NoCache);
    DataSet ds = new DataSet();
    string connStr = "server=webserver;uid=sa;pwd=sa;database=amit;";
    using (SqlConnection conn = new SqlConnection(connStr))
    {

        string sql = "Select Menuid, subheadname, Description, ParentID, url from Menumaster where typeno like '%" + Session["user_type"].ToString().Trim() + "%' and prno is not null";
        SqlDataAdapter da = new SqlDataAdapter(sql, conn);
        da.Fill(ds);
        da.Dispose();
    }

    ds.DataSetName = "Menus";
    ds.Tables[0].TableName = "Menu";
    DataRelation relation = new DataRelation("ParentChild",
                                    ds.Tables[0].Columns["Menuid"],
                                    ds.Tables[0].Columns["ParentID"], false);

    relation.Nested = true;
    ds.Relations.Add(relation);
    xmlDataSource.Data = ds.GetXml();
}
catch
{
    Response.Redirect("Error.aspx");
}
Try
    Response.Cache.SetCacheability(HttpCacheability.NoCache)
    Dim constr As String = 
        System.Configuration.ConfigurationManager.ConnectionString("ConnectionString").ConnectionString
    Dim ds As DataSet = New DataSet()
    Using conn As New OleDbConnection(constr)
        Dim str As String = "Select Menuid, subheadname,Description, ParentID,url from dtl_Menumaster where prno is not null ORDER BY MENUID"
        Dim da As OleDbDataAdapter = New OleDbDataAdapter(str, conn)
        da.Fill(ds)
        da.Dispose()
    End Using

    ds.DataSetName = "Menus"
    ds.Tables(0).TableName = "Menu"
    Dim relation As DataRelation = New DataRelation("ParentChild",
    ds.Tables(0).Columns("Menuid"),
    ds.Tables(0).Columns("ParentID"), True)

    relation.Nested = True
    ds.Relations.Add(relation)
    xmlDataSource.Data = ds.GetXml()
Catch ex As Exception

End Try

您的oracle db是否有值?是的oracle db表有值我假设您使用odbc for oracle。检查并确保odbc连接“看起来”到正确的数据库。您的代码在我看来似乎还可以。我已经使用了oledb连接和odbc连接,但我的菜单项没有显示,甚至我的数据集也没有正确填充。但是通过使用sql连接,菜单项可以正确显示在页面上,但当我使用oledb、oracle或odbc连接时,我的菜单项不会显示在页面上。请帮助我