dteacherability.cs
来自「这是一个自动排课软件(包含源码,需求分析,详细设计).希望对你有所帮助.」· CS 代码 · 共 461 行 · 第 1/2 页
CS
461 行
using System;
using System.Data;
using System.Data.SqlClient;
using System.Collections;
using Entities;
using Search;
namespace DAL.SqlServer
{
public class DTeacherAbility:IDTeacherAbility
{
#region 插入实体操作部份
/// <summary>
/// 插入
/// </summary>
/// <param name="cmd">Command对象</param>
/// <param name="teacherAbility">实体类对象</param>
/// <returns>影响的记录行数</returns>
private int Insert(SqlCommand cmd, TeacherAbility teacherAbility)
{
cmd.Parameters.Clear();
cmd.CommandText = "insert into TeacherAbility (Teacher_ID,Course_ID) values (@Teacher_ID,@Course_ID)";
//从实体中取出值放入Command的参数列表
cmd.Parameters.Add(new SqlParameter("@Teacher_ID",teacherAbility.TeacherID));
cmd.Parameters.Add(new SqlParameter("@Course_ID",teacherAbility.CourseID));
return cmd.ExecuteNonQuery();
}
/// <summary>
/// 不使用事务的插入方法
/// </summary>
/// <param name="teacherAbility">实体类对象</param>
/// <returns>影响的记录行数</returns>
public int Insert(TeacherAbility teacherAbility)
{
int result=0;
string connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
using(SqlConnection conn=new SqlConnection(connectionString))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
result=Insert(cmd, teacherAbility);
}
}
return result;
}
/// <summary>
/// 使用事务的插入方法
/// </summary>
/// <param name="connection">实现共享Command的对象</param>
/// <param name="teacherAbility">实体类对象</param>
/// <returns>影响的记录行数</returns>
public int Insert(IConnection connection,TeacherAbility teacherAbility)
{
SqlCommand cmd=connection.Command as SqlCommand;
return Insert(cmd, teacherAbility);
}
#endregion
#region 删除实体操作
/// <summary>
/// 不使用事务的删除方法
/// </summary>
/// <param name="teacherAbility">实体类对象</param>
/// <returns>影响的记录行数</returns>
public int Delete(TeacherAbility teacherAbility)
{
int result = 0;
return result;
}
/// <summary>
/// 使用事务的删除方法
/// </summary>
/// <param name="connection">实现共享Command的对象</param>
/// <param name="teacherAbility">实体类对象</param>
/// <returns>影响的记录行数</returns>
public int Delete(IConnection connection,TeacherAbility teacherAbility)
{
int result = 0;
return result;
}
/// <summary>
/// 根据查询对象构建过滤条件并使用事务的删除方法
/// </summary>
/// <param name="connection">实现共享Command的对象</param>
/// <param name="teacherAbility">实体类对象</param>
/// <returns>影响的记录行数</returns>
public int Delete(IConnection connection,TeacherAbilitySearcher searcher)
{
int result = 0;
string condition=string.Empty;
SqlCommand cmd=connection.Command as SqlCommand;
cmd.Parameters.Clear();
if(searcher.TeacherIDIsValid)
{
condition += " and Teacher_ID=@Teacher_ID";
cmd.Parameters.Add(new SqlParameter("@Teacher_ID",searcher.TeacherID));
}
if(searcher.CourseIDIsValid)
{
condition += " and Course_ID=@Course_ID";
cmd.Parameters.Add(new SqlParameter("@Course_ID",searcher.CourseID));
}
if(condition!=string.Empty)
{
condition=" where "+condition.Substring(4);
}
cmd.CommandText="delete from TeacherAbility "+condition;
result = cmd.ExecuteNonQuery();
return result;
}
/// <summary>
/// 根据查询对象构建过滤条件并不使用事务的删除方法
/// </summary>
/// <param name="searcher">查询对象</param>
/// <returns>影响的记录行数</returns>
public int Delete(TeacherAbilitySearcher searcher)
{
int result = 0;
string condition=string.Empty;
string connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
using (SqlConnection conn = new SqlConnection(connectionString))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
if(searcher.TeacherIDIsValid)
{
condition += " and Teacher_ID=@Teacher_ID";
cmd.Parameters.Add(new SqlParameter("@Teacher_ID",searcher.TeacherID));
}
if(searcher.CourseIDIsValid)
{
condition += " and Course_ID=@Course_ID";
cmd.Parameters.Add(new SqlParameter("@Course_ID",searcher.CourseID));
}
if(condition!=string.Empty)
{
condition=" where "+condition.Substring(4);
}
cmd.CommandText="delete from TeacherAbility "+condition;
result = cmd.ExecuteNonQuery();
}
}
return result;
}
#endregion
#region 更新实体操作
/// <summary>
/// 不使用事务的更新方法
/// </summary>
/// <param name="teacherAbility">实体类对象</param>
/// <returns>影响的记录行数</returns>
public int Update(TeacherAbility teacherAbility)
{
int result=0;
return result;
}
/// <summary>
/// 使用事务的更新方法
/// </summary>
/// <param name="connection">实现共享Command的对象</param>
/// <param name="teacherAbility">实体类对象</param>
/// <returns>影响的记录行数</returns>
public int Update(IConnection connection,TeacherAbility teacherAbility)
{
int result = 0;
return result;
}
/// <summary>
/// 根据查询对象构建过滤条件并不使用事务的更新方法
/// </summary>
/// <param name="searcher">查询对象</param>
/// <param name="newValues">要更新的新值</param>
/// <returns>影响的记录行数</returns>
public int Update(TeacherAbilitySearcher searcher,TeacherAbilitySearcher newValues)
{
int result=0;
string connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
using(SqlConnection conn=new SqlConnection(connectionString))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
//string updateString=GetUpdateString(cmd, newValues)+condition;
string updateString = string.Empty;
string condition = string.Empty;
if(newValues.TeacherIDIsValid)
{
updateString += ",Teacher_ID=@Teacher_ID_V";
cmd.Parameters.Add(new SqlParameter("@Teacher_ID_V",newValues.TeacherID));
}
if(newValues.CourseIDIsValid)
{
updateString += ",Course_ID=@Course_ID_V";
cmd.Parameters.Add(new SqlParameter("@Course_ID_V",newValues.CourseID));
}
if(searcher.TeacherIDIsValid)
{
condition += " and Teacher_ID=@Teacher_ID_C";
cmd.Parameters.Add(new SqlParameter("@Teacher_ID_C",searcher.TeacherID));
}
if(searcher.CourseIDIsValid)
{
condition += " and Course_ID=@Course_ID_C";
cmd.Parameters.Add(new SqlParameter("@Course_ID_C",searcher.CourseID));
}
if(condition != string.Empty)
{
condition=" where"+condition.Substring(4);
}
cmd.CommandText="update TeacherAbility set "+updateString.Substring(1)+condition;
result=cmd.ExecuteNonQuery();
}
}
return result;
}
/// <summary>
/// 根据查询对象构建过滤条件并使用事务的更新方法
/// </summary>
/// <param name="connection">实现共享Command的对象</param>
/// <param name="searcher">查询对象</param>
/// <param name="newValues">要更新的新值</param>
/// <returns>影响的记录行数</returns>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?