【IT168技术文档】
使用Dataset的几个步骤
1.创建到数据源的连接:
SQLConnection con =new SQLConnection("server=localhost;uid=sa;pwd=;database=pubs");
2.创建DataSetCommand对象:
SQLDataSetCommand cmd =new SQLDataSetCommand("SELECT * FROM Authors", con);
3.创建一个Dataset对象
DataSet ds = new DataSet();
4.调用DataSetCommand的FillData方法填充数据。(该方法会自动控制链接状态)
int iRowCount = cmd.FillDataSet(ds, "Authors");
5.循环读取DataSet中的数据
1、DataSet类for(int i=0; i< iRowCount; i++){ DataRow dr = ds.Tables[0].Rows[i]; Console.WriteLine(dr["au_lname"]); }
DataSet类完整的例子:
建立一个与NorthWind示例数据库对应的数据集:
DataSet创建与填充://以下代码分层次建立数据集的结构 DataSet NorthWind = new DataSet(); DataTable Employee = new DataTable("Employee"); DataColumn name = new DataColumn("name"); name.DataType = typeof(string); name.MaxLength = 8; Employee.Columns.Add(name); NorthWind.Tables.Add(employee); //以下代码为数据集添加数据 DataRow newEmployee = Employee.NewRow(); newEmployee["name"] = "Andymore"; Employee.Rows.Add(newEmployee); //读数据 String str = Employee.Rows[0]["name"].ToString();
DataSet的读取:DataSet ds = new DataSet(); //此方法创建的DataSet实例名称默认指定为"NewDataSet" DataSet ds = new DataSet("NorthWind"); da.Fill(ds); //用ds中填充一个未命名的Table da.Fill(ds,"Employee"); //创建Employee表或用ds中的同名表填充
Foreach (DataTable myTable in myDataSet.Tables) { Debug.WriteLine("现在输出的表是:" + myTable.TableName ); Debug.WriteLine("该表拥有的列数" + mytable.Columns.Count.ToString() ); Debug.WriteLine("该表拥有的行数" + mytable.Rows.Count.ToString() ); Debug.WriteLine("输出数据如下:"); Foreach ( DataRow myRow in myTable.Rows) { Foreach (DataColumn myColumn in myTable.Columns) { Debug.WriteLine ( myColumn.ColumnName + ":" + myRow[myColumn].ToString() ); } Debug.WriteLine(“-------------------------------------”); //下一条记录的分割空行 } }