在asp.net中使用数据库绑定菜单控件

编程入门 行业动态 更新时间:2024-10-14 20:24:05
本文介绍了在asp中使用数据库绑定菜单控件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

您好我有3个表,这些是产品表,catagory表和子目录表。使用这3个表我需要将菜单控件与sql server数据库绑定。在这个当我点击产品名称时,我必须显示catagoies和子目录,我必须在点击这些子目录时显示catagories和子目录的内容。 i我正在使用这个代码 使用System; 使用System.Data; 使用System.Configuration; 使用System.Collections; 使用System.Web; 使用System.Web.Security; 使用System .Web.UI; 使用System.Web.UI.WebControls; 使用System.Web.UI.WebControls.WebParts; 使用System.Web.UI.HtmlControls; 使用System.Data.SqlClient; 使用System.Data.SqlTypes; 使用System.IO ; public partial class construction_materials:System.Web.UI.Page { string str = System .Configuration.ConfigurationManager.AppSettings [ConnectionString]。ToString(); protected void Page_Load(object s ender,EventArgs e) { if(!IsPostBack) { PopulateMenu(); } } DataSet GetMenuData() $ SqlConnection con = new SqlConnection(str); SqlDataAdapter dadCats = new SqlDataAdapter(SELECT catid,catname,productid FROM tbl_productcatagory where productid = 1,con ); SqlDataAdapter dadProducts = new SqlDataAdapter(SELECT subcatid,catid,subcatagoryname FROM tbl_productsubcatagory,con); DataSet dst = new DataSet(); dadCats.Fill(dst,tbl_productcatagory); dadProducts.Fill(dst,tbl_productsubcatagory); dst.Relations.Add(Children , dst.Tables [tbl_productcatagory]。列[catid], dst.Tables [tbl_productsubcatagory]。列[catid]) ; 返回dst; } public void PopulateMenu() { DataSet dst = GetMenuData(); foreach(dst.Tables中的DataRow masterRow [tbl_productcatagory]。行) { MenuItem masterItem = new MenuItem((string)masterRow [catname]); Menu1.Items.Add(masterItem); foreach( MasterRow中的DataRow childRow.GetChildRows(Children)) { MenuItem childItem = new MenuItem((string)childRow [subcatagoryname],, ,(〜/ default.aspx?catid =+(masterRow [catid]。ToString())+& subcatid =+(childRow [subcatid]。ToString())),_ parent ); masterItem.ChildItems.Add(childItem); } } } } 但是我收到了这个错误。 Th因为并非所有值都具有相应的父值,所以无法启用约束。 你可以帮助我....

Hi i have 3 tables these are products table, catagory table, and sub catagory table. using these 3 tables i need to bind menu control with sql server database. in this when i click product name i have to display the catagoies and sub catagories and i have to display the content of catagories and sub catagories while clicking those sub catagories. i am using this code using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Data.SqlClient; using System.Data.SqlTypes; using System.IO; public partial class construction_materials : System.Web.UI.Page { string str = System.Configuration.ConfigurationManager.AppSettings["ConnectionString"].ToString(); protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { PopulateMenu(); } } DataSet GetMenuData() { SqlConnection con = new SqlConnection(str); SqlDataAdapter dadCats = new SqlDataAdapter("SELECT catid, catname,productid FROM tbl_productcatagory where productid=1", con); SqlDataAdapter dadProducts = new SqlDataAdapter("SELECT subcatid, catid, subcatagoryname FROM tbl_productsubcatagory ", con); DataSet dst = new DataSet(); dadCats.Fill(dst, "tbl_productcatagory"); dadProducts.Fill(dst, "tbl_productsubcatagory"); dst.Relations.Add("Children", dst.Tables["tbl_productcatagory"].Columns["catid"], dst.Tables["tbl_productsubcatagory"].Columns["catid"]); return dst; } public void PopulateMenu() { DataSet dst = GetMenuData(); foreach (DataRow masterRow in dst.Tables["tbl_productcatagory"].Rows) { MenuItem masterItem = new MenuItem((string)masterRow["catname"]); Menu1.Items.Add(masterItem); foreach (DataRow childRow in masterRow.GetChildRows("Children")) { MenuItem childItem = new MenuItem((string)childRow["subcatagoryname"], "", "", ("~/default.aspx?catid=" + (masterRow["catid"].ToString()) + "&subcatid=" + (childRow["subcatid"].ToString())), "_parent"); masterItem.ChildItems.Add(childItem); } } } } But i am getting this error. This constraint cannot be enabled as not all values have corresponding parent values. can u please help me....

推荐答案

验证两个表中的数据。检查Sub Category表中的所有行都有CatId。如果任何一行缺少CatId,则会发生此错误。 解决方案是将DataRelation类中的约束设置为false Verify the data in both the tables. Check all the rows in Sub Category table has CatId. If there any one row missing CatId then this error occurs. The solutions is to set constraint in DataRelation class to false dst.Relations.Add("Children", dst.Tables["tbl_productcatagory"].Columns["catid"], dst.Tables["tbl_productsubcatagory"].Columns["catid"], false);

默认情况下,当你创建一个关系时,它会强制执行外键约束,通过设置为false,你告诉它你不要想强制执行这种关系。

By default, when you create a relationship, it enforces foreign key constraints, by setting to false, you are telling it that you dont want to enforce the relationship.

更多推荐

在asp.net中使用数据库绑定菜单控件

本文发布于:2023-11-25 00:26:56,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1627552.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:绑定   控件   菜单   数据库   asp

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!