这是我在2024年完成的第一个C#项目,现在上传到GitHub。这是一个基于.NET Framework的WinForms三层架构应用程序,
- MyClinicUI: 用户界面层,包含所有WinForms窗体
- ClinicBLL: 业务逻辑层
- ClinicDAL: 数据访问层
- ClinicEntity: 实体层,包含所有数据模型
-
病人信息管理
- 添加、编辑、查询病人信息
-
医嘱管理
- 记录和管理医生对病人的诊断结果和医嘱
-
病历信息管理
- 维护病人的详细病历记录
-
缴费单据管理
- 管理病人的缴费记录和单据
-
药品信息管理
- 维护诊所药品信息,包括库存管理
-
员工管理
- 管理诊所员工信息
-
卫生日志
- 记录和查询诊所的卫生清洁日志
-
统计功能
- 提供各类数据统计和报表功能
- 采用经典的三层架构(表示层、业务逻辑层、数据访问层)
- 使用C# WinForms开发用户界面
- 面向对象的设计和编程
- 数据库操作封装在DAL层
- 业务逻辑处理封装在BLL层
- Windows操作系统
- .NET Framework 4.0或更高版本
- SQL Server数据库
- 克隆或下载此仓库
- 在Visual Studio中打开解决方案文件
私人诊所管理系统.sln - 还原NuGet包(如果有的话)
- 修改数据库连接字符串(在App.config文件中)
- 编译并运行项目
项目使用SQL Server数据库。你需要在App.config文件中配置正确的数据库连接字符串。
<connectionStrings>
<add name="Clinic" connectionString="server=.;uid=sa;pwd=123;database=Clinic" />
</connectionStrings>默认配置:
- 服务器:本地(.)
- 用户名:sa
- 密码:123
- 数据库名:Clinic
请根据实际情况修改这些配置。
项目包含以下主要数据表:
-
Admin - 管理员表
- AdminId (int, 主键)
- LoginId (string) - 登录用户名
- LoginPwd (string) - 登录密码
-
PatientInfo - 病人信息表
- PatientId (int, 主键)
- PatientName (string) - 病人姓名
- Sex (string) - 性别
- Age (string) - 年龄
- IdentityCard (string) - 身份证号
- Telephone (string) - 电话
- DateMedical (string) - 就诊日期
- PatientInfoRemarks (string) - 备注
-
MedicalRecord - 病历表
- MedicalRecordId (int, 主键)
- PastDateMedical (string) - 既往就诊日期
- PastMedical (string) - 既往病史
- MedicalRecordRemarks (string) - 备注
- PatientId (int, 外键) - 关联病人信息表
-
DrugsInfo - 药品信息表
- DrugsId (int, 主键)
- DrugsName (string) - 药品名称
- Number (string) - 药品编号
- DrugsPrice (string) - 药品单价
- Quantity (string) - 数量
- Manufacturer (string) - 生产厂商
- DrugsRemarks (string) - 备注
- TotalPrice (string) - 总价
- CategoryID (int, 外键) - 关联药品分类表
-
DrugCategory - 药品分类表
- CategoryID (int, 主键)
- CategoryName (string) - 分类名称
-
EmployeeInfo - 员工信息表
- EmployeeId (int, 主键)
- EmployeeName (string) - 员工姓名
- Sex (string) - 性别
- Age (int) - 年龄
- EntryTime (string) - 入职时间
- Salary (string) - 薪资
- TurnoverTime (string) - 离职时间
-
Payment - 缴费单据表
- PaymentId (int, 主键)
- paymentPrice (string) - 缴费金额
- paymentTime (string) - 缴费时间
- Status (string) - 状态
- PatientId (int, 外键) - 关联病人信息表
-
DiagnosisResult - 医嘱表
- DiagnosisResultId (int, 主键)
- DiagnosisResult (string) - 诊断结果
- DiagnosisResultTime (string) - 诊断时间
- DiagnosisResultRemarks (string) - 备注
- DrugsId (int, 外键) - 关联药品信息表
- PatientId (int, 外键) - 关联病人信息表
在首次运行项目之前,需要创建数据库和表结构。可以通过以下步骤初始化数据库:
- 创建名为
Clinic的数据库 - 根据上述表结构创建相应的数据表
- 插入初始管理员数据到Admin表(默认用户名和密码可在登录界面测试使用)
注意:项目中未包含数据库脚本文件,需要手动创建表结构。
以下是应用程序的一些界面截图:
注意:截图文件需要单独创建并放置在Screenshots文件夹中。
这是我的第一个C#项目,完成于2024年上半年。通过这个项目,我学习并实践了C# WinForms开发、三层架构设计模式以及数据库操作等技术。
该项目仅供学习和参考使用。
- 界面美化和用户体验优化
- 数据库脚本的完善
- 功能模块的扩展
- 代码质量和性能优化



