|
|
|
@ -1,6 +1,9 @@
|
|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Data;
|
|
|
|
|
using System.Data.OleDb;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
using System.Linq.Expressions;
|
|
|
|
|
using System.Text;
|
|
|
|
|
|
|
|
|
|
namespace AccessStudy.Core
|
|
|
|
@ -9,19 +12,110 @@ namespace AccessStudy.Core
|
|
|
|
|
{
|
|
|
|
|
private OledbUtil dbUtil = new OledbUtil();
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 获取所有学生
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
public List<Student> GetAll()
|
|
|
|
|
{
|
|
|
|
|
var dataTable = dbUtil.GetDataTable("Student");
|
|
|
|
|
List<Student> students = DataTable2Model(dataTable);
|
|
|
|
|
|
|
|
|
|
return students;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 按标识查询学生
|
|
|
|
|
/// </summary>
|
|
|
|
|
public Student Get(int studentId)
|
|
|
|
|
{
|
|
|
|
|
var querySql = "select * from Student where Id=@studentId";
|
|
|
|
|
var paras = new List<OleDbParameter>()
|
|
|
|
|
{
|
|
|
|
|
new OleDbParameter("studentId",studentId)
|
|
|
|
|
};
|
|
|
|
|
var dataTable = dbUtil.GetDataTable(querySql, paras);
|
|
|
|
|
|
|
|
|
|
return DataTable2Model(dataTable).FirstOrDefault();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 添加学生
|
|
|
|
|
/// </summary>
|
|
|
|
|
public bool Add(Student student)
|
|
|
|
|
{
|
|
|
|
|
var querySql = "INSERT INTO `Student` (Name,Age,Address,School) VALUES(@Name,@Age,@Address,@School); ";
|
|
|
|
|
var paras = new List<OleDbParameter>()
|
|
|
|
|
{
|
|
|
|
|
new OleDbParameter("Id",student.Id),
|
|
|
|
|
new OleDbParameter("Name",student.Name),
|
|
|
|
|
new OleDbParameter("Age",student.Age),
|
|
|
|
|
new OleDbParameter("Address",student.Address),
|
|
|
|
|
new OleDbParameter("School",student.School),
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
var effectRow = dbUtil.ExecuteNonQuery(querySql, paras);
|
|
|
|
|
|
|
|
|
|
return effectRow > 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 更新学生
|
|
|
|
|
/// </summary>
|
|
|
|
|
public bool Update(Student student)
|
|
|
|
|
{
|
|
|
|
|
var querySql = "Update Student Set Name=@Name,Age=@Age,Address=@Address,School=@School where Id=@Id;";
|
|
|
|
|
var paras = new List<OleDbParameter>()
|
|
|
|
|
{
|
|
|
|
|
new OleDbParameter("Id",student.Id),
|
|
|
|
|
new OleDbParameter("Name",student.Name),
|
|
|
|
|
new OleDbParameter("Age",student.Age),
|
|
|
|
|
new OleDbParameter("Address",student.Address),
|
|
|
|
|
new OleDbParameter("School",student.School),
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
var effectRow = dbUtil.ExecuteNonQuery(querySql, paras);
|
|
|
|
|
|
|
|
|
|
return effectRow > 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 删除学生
|
|
|
|
|
/// </summary>
|
|
|
|
|
public bool Delete(int studentId)
|
|
|
|
|
{
|
|
|
|
|
var querySql = "DELETE FROM Student WHERE Id = @Id; ";
|
|
|
|
|
var paras = new List<OleDbParameter>()
|
|
|
|
|
{
|
|
|
|
|
new OleDbParameter("Id",studentId),
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
var effectRow = dbUtil.ExecuteNonQuery(querySql, paras);
|
|
|
|
|
|
|
|
|
|
return effectRow > 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// DataTable转实体列表
|
|
|
|
|
/// </summary>
|
|
|
|
|
public List<Student> DataTable2Model(DataTable dTable)
|
|
|
|
|
{
|
|
|
|
|
List<Student> students = new List<Student>();
|
|
|
|
|
|
|
|
|
|
var dataTable = dbUtil.GetDataTable("Student");
|
|
|
|
|
if (dTable==null)
|
|
|
|
|
{
|
|
|
|
|
return students;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
foreach (DataRow row in dataTable.Rows)
|
|
|
|
|
foreach (DataRow row in dTable.Rows)
|
|
|
|
|
{
|
|
|
|
|
var student = new Student()
|
|
|
|
|
{
|
|
|
|
|
Id = (int)row["Id"],
|
|
|
|
|
Name=row["Name"].ToString(),
|
|
|
|
|
Name = row["Name"]?.ToString() ?? "",
|
|
|
|
|
Age = (int)row["Age"],
|
|
|
|
|
Address = row["Address"]?.ToString() ?? "",
|
|
|
|
|
School = row["School"]?.ToString() ?? "",
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
students.Add(student);
|
|
|
|
@ -29,5 +123,6 @@ namespace AccessStudy.Core
|
|
|
|
|
|
|
|
|
|
return students;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|