怎么使用DataAdapter填充多个表

发布时间:2021-10-08 15:58:18 作者:小新
来源:亿速云 阅读:154

这篇文章主要介绍了怎么使用DataAdapter填充多个表,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

怎么使用DataAdapter填充多个表

Default.aspx

代码如下:


View Code

<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>无标题页</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>

    </div>
    <asp:Label ID="lbText" runat="server"></asp:Label>
    </form>
</body>
</html>

Default.aspx.cs

复制代码 代码如下:

using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;

using System.Data.SqlClient;
using System.Text;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        string connectionString = ConfigurationSettings.AppSettings["strCon"];
        SqlConnection mycon = new SqlConnection(connectionString);//创建数据库连接
        string sqlCategory = "select ID,C_Name from Photo_Category";//查询相册分类表中信息
        string sqlPhoto = "select CategoryID,Title from Photo";//查询相册表中信息
        SqlDataAdapter da = new SqlDataAdapter(sqlCategory, mycon);//创建数据适配器
        DataSet ds = new DataSet();//创建数据集
        try
        {
            if (mycon.State.Equals(ConnectionState.Closed))
            { mycon.Open(); }//显式地打开数据库连接
            da.Fill(ds, "Photo_Category");//填充相册分类表
            da.SelectCommand.CommandText = sqlPhoto;
            da.Fill(ds, "Photo");//填充相册信息表
        }
        finally
        {
            mycon.Close();//显式地关闭数据库连接
        }
        //创建DataRelation对象,关联表间关系
        DataRelation relat = new DataRelation("Photo_Category",  ds.Tables["Photo_Category"].Columns["ID"],ds.Tables["Photo"].Columns["CategoryID"]);
        ds.Relations.Add(relat);//添加表间关系
        StringBuilder builder = new StringBuilder("");
        foreach (DataRow row in ds.Tables["Photo_Category"].Rows)
        {
            builder.Append("<b>");
            builder.Append(row["C_Name"].ToString());
            builder.Append("</b><ul>");
            DataRow[] childRows = row.GetChildRows(relat);
            foreach (DataRow childRow in childRows)
            {
                builder.Append("<li>");
                builder.Append(childRow["Title"].ToString());
                builder.Append("</li>");
            }
            builder.Append("</ul>");
        }
        lbText.Text += builder.ToString();//将运行结果输出到页面中
    }

}

感谢你能够认真阅读完这篇文章,希望小编分享的“怎么使用DataAdapter填充多个表”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!

推荐阅读:
  1. dataSet/DataReader/DataAdapter/Command
  2. php如何编辑多个表的数据

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

dataadapter

上一篇:MySQL查询语句中的IN和Exists怎样进行对比分析

下一篇:mysql 优化中如何进行IN换INNER JOIN

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》