代码改变世界

如何开发一个学生成绩管理糸统(5)

2010-05-17 08:18  ScriptZhang  阅读(1090)  评论(9编辑  收藏  举报

我在这里仍然使用单件模式,将在整个类编写过程中要多次使用s_profTableAdapter封装为Adapter使用

查询方法1:取得全部专业数据

查询方法2:取得指定专业数据通过查询ID

查询方法3:添加专业数据

查询方法4:更新专业数据

查询方法5:删除指定专业数据

查询方法6:使用储存过程进行分页

 

代码
/// <summary>
/// 使用储存过程进行分页
/// </summary>
/// <param name="startIndex">起步序号</param>
/// <param name="endIndex">结束序号</param>
/// <param name="docount">是否统计</param>
/// <returns>集合</returns>
[System.ComponentModel.DataObjectMethodAttribute
(System.ComponentModel.DataObjectMethodType.Select,
true)]
public GYsms.s_profDataTable GetProfPaged(int startIndex, int endIndex, bool docount)
{
return Adapter.GetProfPaged(startIndex, endIndex, docount);
}

 

 

查询方法7:查询专业数据的数量

 

代码
/// <summary>
/// 返回专业数目
/// </summary>
/// <returns>Int类型</returns>
[System.ComponentModel.DataObjectMethodAttribute
(System.ComponentModel.DataObjectMethodType.Select,
true)]
public int SclarProdNum()
{
return (int)Adapter.ScalarProfNum();
}

查询方法8:检查专业号是否存在

 

代码
/// <summary>
/// 检查专业号是否存在
/// </summary>
/// <param name="pid">专业号</param>
/// <returns>布尔值</returns>
[System.ComponentModel.DataObjectMethodAttribute
(System.ComponentModel.DataObjectMethodType.Select,
false)]
public int? ChkPPId(int pid)
{
if (Adapter.GetIdByPid(pid) == null)
{
return 0;
}
else
{
return Adapter.GetIdByPid(pid);
}

}

 

 

查询方法9:查询指定专业数据,

 

代码
/// <summary>
/// 返回指定专业,查询专业号
/// </summary>
/// <param name="pid">专业号</param>
/// <returns>集合</returns>
[System.ComponentModel.DataObjectMethodAttribute
(System.ComponentModel.DataObjectMethodType.Select,
false)]
public GYsms.s_profDataTable GetProfByPId(int pid)
{
return Adapter.GetProfByPid(pid);
}

 

 

查询方法10:查询指定专业数据。

 

代码
/// <summary>
/// 返回指定专业,查询专业名
/// </summary>
/// <param name="pname">专业名</param>
/// <returns>集合</returns>
[System.ComponentModel.DataObjectMethodAttribute
(System.ComponentModel.DataObjectMethodType.Select,
false)]
public GYsms.s_profDataTable GetProfByPName(string pname)
{
return Adapter.GetProfByPname(pname);
}

在这里将ProfBLL类的全部代码也帖出来

 

代码
using System;
using System.Collections.Generic;
using System.Web;
using GYsmsTableAdapters;

/// <summary>
///ProfBLL 的摘要说明
/// </summary>
[System.ComponentModel.DataObject]
public class ProfBLL
{
private s_profTableAdapter _productsAdapter = null;

protected s_profTableAdapter Adapter
{
get
{
if (_productsAdapter == null)
_productsAdapter
= new s_profTableAdapter();

return _productsAdapter;
}
}

[System.ComponentModel.DataObjectMethodAttribute
(System.ComponentModel.DataObjectMethodType.Select,
true)]
public GYsms.s_profDataTable GetProf()
{
return Adapter.GetProf();
}

[System.ComponentModel.DataObjectMethodAttribute
(System.ComponentModel.DataObjectMethodType.Select,
false)]
public GYsms.s_profDataTable GetProfById(int id)
{
return Adapter.GetProfById(id);
}

[System.ComponentModel.DataObjectMethodAttribute
(System.ComponentModel.DataObjectMethodType.Insert,
true)]
public bool AddProf(int pid,string pname)
{
GYsms.s_profDataTable table
=new GYsms.s_profDataTable();
GYsms.s_profRow row
=table.News_profRow();
row.pid
=pid==0?0:pid;
row.pname
=pname==null?"":pname;
table.Adds_profRow(row);
int rowsAffacted = Adapter.Update(table);
return rowsAffacted == 1;
}

[System.ComponentModel.DataObjectMethodAttribute
(System.ComponentModel.DataObjectMethodType.Update,
true)]
public bool UpdateProf(int id,int pid, string pname)
{
GYsms.s_profDataTable table
= Adapter.GetProfById(id);
if(table.Count==0)
return false;

GYsms.s_profRow row
=table[0];
row.pid
= pid ==0 ? 0 : pid;
row.pname
= pname == null ? "" : pname;
int rowsAffacted = Adapter.Update(table);
return rowsAffacted == 1;
}

[System.ComponentModel.DataObjectMethodAttribute
(System.ComponentModel.DataObjectMethodType.Delete,
true)]
public bool DeleteProf(int id)
{
int rowsAffacted = Adapter.Delete(id);
return rowsAffacted == 1;
}

/// <summary>
/// 使用储存过程进行分页
/// </summary>
/// <param name="startIndex">起步序号</param>
/// <param name="endIndex">结束序号</param>
/// <param name="docount">是否统计</param>
/// <returns>集合</returns>
[System.ComponentModel.DataObjectMethodAttribute
(System.ComponentModel.DataObjectMethodType.Select,
true)]
public GYsms.s_profDataTable GetProfPaged(int startIndex, int endIndex, bool docount)
{
return Adapter.GetProfPaged(startIndex, endIndex, docount);
}
/// <summary>
/// 返回专业数目
/// </summary>
/// <returns>Int类型</returns>
[System.ComponentModel.DataObjectMethodAttribute
(System.ComponentModel.DataObjectMethodType.Select,
true)]
public int SclarProdNum()
{
return (int)Adapter.ScalarProfNum();
}
/// <summary>
/// 检查专业号是否存在
/// </summary>
/// <param name="pid">专业号</param>
/// <returns>布尔值</returns>
[System.ComponentModel.DataObjectMethodAttribute
(System.ComponentModel.DataObjectMethodType.Select,
false)]
public int? ChkPPId(int pid)
{
if (Adapter.GetIdByPid(pid) == null)
{
return 0;
}
else
{
return Adapter.GetIdByPid(pid);
}

}
/// <summary>
/// 返回指定专业,查询专业号
/// </summary>
/// <param name="pid">专业号</param>
/// <returns>集合</returns>
[System.ComponentModel.DataObjectMethodAttribute
(System.ComponentModel.DataObjectMethodType.Select,
false)]
public GYsms.s_profDataTable GetProfByPId(int pid)
{
return Adapter.GetProfByPid(pid);
}
/// <summary>
/// 返回指定专业,查询专业名
/// </summary>
/// <param name="pname">专业名</param>
/// <returns>集合</returns>
[System.ComponentModel.DataObjectMethodAttribute
(System.ComponentModel.DataObjectMethodType.Select,
false)]
public GYsms.s_profDataTable GetProfByPName(string pname)
{
return Adapter.GetProfByPname(pname);
}
}

 

 

 

 

到这里,我就说明了CourseBLL类和ProfBLL类的相关查询方法了,

在下一节中,我还将说明CourseInfoBLL类的相关查询方法,因为没有使用关糸,我只能手动来验证s_Course表和s_courseinfo表的数据一至性。