近日做毕业设计,导师突然给改了要求,让我从几张有依赖关系的表中提取出一些字段组合在一起,放在一个gridview里显示。我平时学java的东西比较多,这个asp.net的都是摸索着来,没有头绪。求大虾们赐教一个思路,最好不用存储过程的(因为业务确实不难)。
或者说怎么能把这些组成一个新的dataset,现在我在想是不是读出不同表的字段,按顺序填到需要的dataset里?可是怎么填,还是求指教了

解决方案 »

  1.   

    可以用datatable之间的外键关系配合计算字段来实现
    参考我的blog
    http://blog.csdn.net/jinjazz/archive/2008/04/08/2261721.aspx
      

  2.   

    using System;
    using System.Data;
    using System.Data.SqlClient;namespace PopulateDataSet
    {
    /// <summary>
    /// Summary description for Class1.
    /// </summary>
    class Class1
    {
    static void Main(string[] args)
    {
    string sConnectionString;
    sConnectionString = "Password=myPassword;User ID=myUserID;"
    + "Initial Catalog=pubs;"
    + "Data Source=(local)";
    SqlConnection objConn
    = new SqlConnection(sConnectionString);
    objConn.Open(); SqlDataAdapter daAuthors 
    = new SqlDataAdapter("Select * From Authors", objConn);
    DataSet dsPubs = new DataSet("Pubs");
    daAuthors.FillSchema(dsPubs,SchemaType.Source, "Authors");
    daAuthors.Fill(dsPubs,"Authors"); DataTable tblAuthors;
    tblAuthors = dsPubs.Tables["Authors"]; foreach (DataRow drCurrent in tblAuthors.Rows)
    {
    Console.WriteLine("{0} {1}",
    drCurrent["au_fname"].ToString(), 
    drCurrent["au_lname"].ToString());
    }
    Console.ReadLine();
    }
    }
    }
      

  3.   

    http://support.microsoft.com/kb/314145
      

  4.   

    这只是一次查询结果吧,怎么把多次查询的有一定关联的结果填充到一个dataset呢?
      

  5.   


     private void GridViewBind()
        {
            string SqlStr = "select a.字段1,a.字段2,b.字段1,b.字段2 from a,b where a.字段1=b.字段1";
            DataSet ds = new DataSet();
            try
            {
                SqlConnection conn = new SqlConnection('数据库连接字符串');
                if (conn.State.ToString() == "Closed") conn.Open();
                SqlDataAdapter da = new SqlDataAdapter(SqlStr, conn);
                da.Fill(ds);
                if (conn.State.ToString() == "Open") conn.Close();
                GridView1.DataSource = ds;
                GridView1.DataBind();
            }
            catch (Exception ex)
            {
                Response.Write("数据库错误,错误原因:" + ex.Message);
                Response.End();
            }
        }