使用SQLServer管理员考勤系统
介绍
管理员考勤系统是一个主要是为管理人员设计的软件,主要用于管理人员的考勤。它可以记录管理员的上下班时间、请假、出差、培训等情况,并且可以生成相应的报表,方便管理人员进行考勤管理。
SQLServer数据库
管理员考勤系统的底层是数据库,数据库管理系统的选择非常重要。一般来说,企业级别的系统使用SQLServer数据库是一个比较好的选择。SQLServer数据库是由微软公司开发的关系型数据库管理系统,它具有可靠性高、性能稳定、安全性好等优点。
数据库表设计
管理员考勤系统需要设计数据库表,以便存储管理员的考勤信息。下面是管理员考勤系统的数据库表设计:
CREATE TABLE [dbo].[AdminAttendance]
(
[ID] INT NOT NULL PRIMARY KEY IDENTITY,
[AdminID] INT NOT NULL,
[Date] DATE NOT NULL,
[SignInTime] TIME NULL,
[SignOutTime] TIME NULL,
[Leave] BIT NOT NULL,
[LeaveType] NVARCHAR(100) NULL,
[BusinessTrip] BIT NOT NULL,
[BusinessTripReason] NVARCHAR(100) NULL,
[Training] BIT NOT NULL,
[TrainingReason] NVARCHAR(100) NULL
)
上面的代码创建了一个名为AdminAttendance
的数据库表,用来存储管理员的考勤信息。其中,ID
是自增长的主键,AdminID
表示管理员的ID,Date
表示考勤日期,SignInTime
表示签到时间,SignOutTime
表示签退时间,Leave
表示是否请假,LeaveType
表示请假类型,BusinessTrip
表示是否出差,BusinessTripReason
表示出差原因,Training
表示是否参加培训,TrainingReason
表示培训原因。
系统后台开发
数据库连接
管理员考勤系统需要通过代码连接数据库。首先需要在代码中添加System.Data.SqlClient
命名空间,然后使用SqlConnection
对象创建数据库连接,如下所示:
using System.Data.SqlClient;
class ConnectString
{
static SqlConnection conn = new SqlConnection(
"Data Source=your_server;Initial Catalog=your_database;Integrated Security=True");
}
上面的代码创建了一个名为conn
的SqlConnection
对象,用来连接数据库。其中your_server
是数据库服务器的名称,your_database
是数据库的名称。
数据插入
管理员考勤系统需要将管理员的考勤信息插入数据库中。插入数据使用SqlCommand
对象和ExecuteNonQuery
方法,如下所示:
using System.Data.SqlClient;
class InsertData
{
static void Insert(string AdminID, string Date, string SignInTime,
string SignOutTime, bool Leave, string LeaveType, bool BusinessTrip,
string BusinessTripReason, bool Training, string TrainingReason)
{
SqlConnection conn = new SqlConnection(
"Data Source=your_server;Initial Catalog=your_database;Integrated Security=True");
string sql = "INSERT INTO AdminAttendance(AdminID, Date, SignInTime, SignOutTime, Leave, LeaveType, BusinessTrip, BusinessTripReason, Training, TrainingReason) "
+ "VALUES(@AdminID, @Date, @SignInTime, @SignOutTime, @Leave, @LeaveType, @BusinessTrip, @BusinessTripReason, @Training, @TrainingReason)";
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.Parameters.AddWithValue("@AdminID", AdminID);
cmd.Parameters.AddWithValue("@Date", Date);
cmd.Parameters.AddWithValue("@SignInTime", SignInTime);
cmd.Parameters.AddWithValue("@SignOutTime", SignOutTime);
cmd.Parameters.AddWithValue("@Leave", Leave);
cmd.Parameters.AddWithValue("@LeaveType", LeaveType);
cmd.Parameters.AddWithValue("@BusinessTrip", BusinessTrip);
cmd.Parameters.AddWithValue("@BusinessTripReason", BusinessTripReason);
cmd.Parameters.AddWithValue("@Training", Training);
cmd.Parameters.AddWithValue("@TrainingReason", TrainingReason);
conn.Open();
int result = cmd.ExecuteNonQuery();
conn.Close();
}
}
上面的代码创建了一个名为Insert
的方法,用来将管理员的考勤信息插入数据库中。其中使用了SqlParameter
对象来添加参数,防止SQL注入攻击。
数据查询
管理员考勤系统需要查询管理员的考勤信息,查询数据使用SqlCommand
对象和ExecuteReader
方法,如下所示:
using System.Data.SqlClient;
class SelectData
{
static void Select(string AdminID, string Date)
{
SqlConnection conn = new SqlConnection(
"Data Source=your_server;Initial Catalog=your_database;Integrated Security=True");
string sql = "SELECT AdminID, Date, SignInTime, SignOutTime, Leave, LeaveType, BusinessTrip, BusinessTripReason, Training, TrainingReason "
+ "FROM AdminAttendance WHERE AdminID=@AdminID AND Date=@Date";
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.Parameters.AddWithValue("@AdminID", AdminID);
cmd.Parameters.AddWithValue("@Date", Date);
conn.Open();
SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
Console.WriteLine(reader["AdminID"] + "\t" + reader["Date"] + "\t" + reader["SignInTime"] + "\t"
+ reader["SignOutTime"] + "\t" + reader["Leave"] + "\t" + reader["LeaveType"] + "\t"
+ reader["BusinessTrip"] + "\t" + reader["BusinessTripReason"] + "\t" + reader["Training"] + "\t"
+ reader["TrainingReason"]);
}
reader.Close();
conn.Close();
}
}
上面的代码创建了一个名为Select
的方法,用来查询管理员的考勤信息。其中使用了SqlDataReader
对象读取查询结果。
总结
管理员考勤系统是一个非常实用的工具,它可以帮助管理人员更加高效地管理管理员的考勤信息。本文介绍了使用SQLServer数据库开发管理员考勤系统的方法,包括数据库表设计、数据库连接、数据插入和数据查询。希望本文对您有所帮助。