**三层结构 Dataset

 1 三层结构 Dataset
 2 用户接口层
 3 //构建数据集并向下传递
 4 private void btnSave_Click(object sender, EventArgs e)  
 5 {
 6             //创建一个新的空班级DataSet
 7             DataSet dsClass = new DataSet();
 8             //创建班级表
 9             DataTable dtClass = new DataTable("Class");
10             //创建班级名称列
11             DataColumn className = new DataColumn("ClassName",typeof(string));
12             className.MaxLength = 50;
13             className.ColumnName = "ClassName";
14             className.DataType = System.Type.GetType("System.String");
15 
16             //创建年级ID列
17             DataColumn gradeID = new DataColumn("GradeID",typeof(int));
18             //将定义好列添加到班级表中
19             dtClass.Columns.Add(className);
20             dtClass.Columns.Add(gradeID);
21             //创建一个新的数据行
22             DataRow drClass = dtClass.NewRow();
23             drClass["className"= this.txtClassName.Text.Trim();
24             drClass["gradeID"
25                   = gradeManager.GetGradeIDByGradeName(this.cboGrade.Text.Trim());
26             //将新的数据行插入班级表中
27             dtClass.Rows.Add(drClass);
28             //将班级表添加到DataSet中
29             dsClass.Tables.Add(dtClass);
30             //判断输入班级名称是否为空
31             if (!string.IsNullOrEmpty(this.txtClassName.Text.Trim()))
32             {
33                 //提示信息
34                 string message = string.Empty;
35                 //调用增加班级信息方法
36                message= classManager.AddClass( dsClass);
37                MessageBox.Show(message, "提交提示"
38                                    MessageBoxButtons.OK, MessageBoxIcon.Information);
39             }
40             else
41                 MessageBox.Show("请输入班级名称!""提交提示"
42                                     MessageBoxButtons.OK, MessageBoxIcon.Information);
43 }
44 
45 业务逻辑层
46 //读取分析Dataset中数据 并向下传递执行数据库查询
47 public string AddClass( DataSet ds)
48         {
49             //返回信息
50             string message = string.Empty;
51             //新增班级名称
52             string className = string.Empty;
53             //新增班级ID
54             int classID = 0;
55             className = ds.Tables["Class"].Rows[0]["className"].ToString();
56             //调用数据访问层通过班级名称得到班级ID
57             classID = classService.GetClassIDByClassName(className);
58             if (classID > 0)
59                 message = "该年级的此班级已经存在!";
60             else
61             {
62                 //调用数据访问层新增班级方法
63                 classService.AddClass(ds);
64                 message = "班级增加成功!";
65             }
66             return message;
67         }
68 
69 //数据访问层
70 //读取Dataset中数据提交SQL
71 public void AddClass( DataSet dsClass)
72         {
73             SqlConnection conn 
74                              = new SqlConnection(connString);
75             SqlCommand objCommand 
76                              = new SqlCommand(dboOwner + ".usp_InsertClass", conn);
77             objCommand.CommandType 
78                              = CommandType.StoredProcedure;
79             objCommand.Parameters.Add
                                                  (
"@ClassName", SqlDbType.NVarChar, 50).Value 
80                              = dsClass.Tables["Class"].Rows[0]["ClassName"];
81             objCommand.Parameters.Add("@GradeID", SqlDbType.Int).Value 
82                              = dsClass.Tables["Class"].Rows[0]["GradeID"];
83             conn.Open();
84             objCommand.ExecuteNonQuery();
85             conn.Close();
86             conn.Dispose();
87         }





///////////////////////////////////////////////////////////////////////////////

///////////////////////////////////////////////////////////////////////////////

///////////////////////////////////////////////////////////////////////////////

DAL层读取数据填充Dateset

 1   ///summey
 2   ///读取
 3   ///summey
 4              DataSet ds = new DataSet();
 5              SqlConnection conn = new SqlConnection(connString);
 6              SqlDataAdapter objAdapter = new SqlDataAdapter(dboOwner + ".usp_SelectStudentsPartInfo", conn);
 7              objAdapter.SelectCommand.CommandType = CommandType.StoredProcedure;
 8              objAdapter.Fill(ds, "studentTable");
 9              conn.Close();
10              conn.Dispose();

11              return ds; 

posted @ 2008-10-21 22:23  Edward Xie  阅读(428)  评论(1编辑  收藏  举报