asp.net中使用oledb的动态菜单绑定
如果我在asp.net中使用Sql Server数据库进行动态菜单绑定,它会在页面上显示菜单和子菜单项。但另一方面,如果我使用oracle数据库进行菜单绑定,它不会在页面上显示菜单项。它会在运行时显示菜单控件空白 Sql连接性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
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连接时,我的菜单项不会显示在页面上。请帮助我