DataSet的应用(与GridView绑定)

  1)绑定到GridView控件,显示数据
DataSet对象用DataAdapter的Fill方法填充。
Fill有两种常用方法:
int Fill(DateSet myDateSet,string dataTableName)
int Fill(DateSet myDataSet,int StartRow,int numberofRow,string dataTableName)
其中dataTableName为要填充的DataTable名。
int型参数StartRow指定要从数据源中开始读取数据的位置,从0开始。int型参数numberOfRow表示要读取的行数。
如myDataAapater.Fill(myDataSet,1,5,"Employees");填充从1开始的5行数据。 
在从数据源填充DataSet中的一个DataTable时,我们使用的表名为"Employees",如abAdapter.Fill(ds,"Employees");其实,这里的表名不一定与数据庫表名一致,可以使用任一个好记的名字。
private void button2_Click(object sender, EventArgs e)
        {
            SqlConnection cn = new
           SqlConnection(@"server=localhost;Integrated Security=SSPI;database=Northwind");

            string SQL = "SELECT * FROM Employees";

            try
            {
                SqlCommand cmd = new SqlCommand(SQL, cn);
                //创建SqlAdapter对象
                SqlDataAdapter abAdapter = new SqlDataAdapter(cmd);
               
                cn.Open();
    //构造DataSet对象
                DataSet ds = new DataSet();
                 //填充DataSet对象并获得填充的行数
                int numberOfRows=abAdapter.Fill(ds,"Employees");
                rows.Text = numberOfRows.ToString();
                cn.Close();
                foreach (DataRow row in ds.Tables["Employees"].Rows)
                {
                    myGrid.DataSource = ds.Tables["Employees"];
            
                }
              
            }
            catch (SqlException e2)
            {
                string strEx;
                strEx = "Source:" + e2.Source;
                strEx = strEx + "/n" + "Exception Message:" + e2.Message;
                MessageBox.Show(strEx, "Database Exceptin");
                cn.Close();
            }

            finally
            {
                if (cn.State == ConnectionState.Open)
                {

                    MessageBox.Show("Finally closing the connection", "Finall block");
                }
            }
        }


2)绑定多个数据源
可以使用多个DateAdapter对象填充同一个DataSet对象。如:
创建一个DataAdapter对象myDataAdapter,用来获取Categories数据表中的信息,并将其查询的记录填充到myDataSet的一个Categories  DataTable表中,之后,新建一个SQL语句,以查询产品信息(从Products表中),新建一个DataAdapter对象myDataAdapter1,使用它查询新的记录,在myDataSet中填充另一个Products DataTable表。使用过程如下:
string strSQLCategor="SELECT * FROM Categories";
Conn.Open();
SqlDataAdapter myDataAdapter=new SqlDataAdapter(strSQLCategory,Conn);
DataSet myDataSet=new DataSet();
myDataAdapter.Fill(myDataSet,"Cagegories");//第一个DataAdapter对象填充myDataSet
string strSQLProd="SELECT Cate.CategoryName,Prod.ProductName FROM Categories AS Cate,Products AS Prod WHERE Cate.CategoryID=Prod.CategoryID";
SqlDataAdapter myDataAdapter1=new SqlDataAdapter(strSQLProd,Conn);//第二个DataAdapter对象填充myDataSet
myDataAdapter1.Fill(myDataSet,"Products");
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值