帮我做一个基于c#的药品存销信息管理系统
时间: 2024-03-30 08:37:49 浏览: 17
好的,以下是一个简单的基于C#的药品存销信息管理系统,您可以参考代码中的注释和说明来了解具体实现过程。
```C#
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace MedicineManagementSystem
{
public partial class MainForm : Form
{
private string connectionString = "Data Source=(local);Initial Catalog=MedicineDB;Integrated Security=True";//数据库连接字符串
private SqlConnection sqlCon = null;//数据库连接对象
private SqlDataAdapter sqlDa = null;//数据适配器对象
private DataSet ds = null;//数据集对象
private DataView dv = null;//数据视图对象
private SqlCommandBuilder sqlCmdBuilder = null;//命令构建对象
public MainForm()
{
InitializeComponent();
}
private void MainForm_Load(object sender, EventArgs e)
{
//初始化数据适配器和数据集
sqlDa = new SqlDataAdapter("SELECT * FROM Medicine", connectionString);
ds = new DataSet();
//填充数据集
sqlDa.Fill(ds, "Medicine");
//将数据集中的数据绑定到DataGridView中
dv = ds.Tables[0].DefaultView;
dataGridView1.DataSource = dv;
//关闭DataGridView的自动生成列功能
dataGridView1.AutoGenerateColumns = false;
//添加DataGridView列
addColumns();
}
private void addColumns()
{
//添加药品编号列
DataGridViewTextBoxColumn colMedicineNo = new DataGridViewTextBoxColumn();
colMedicineNo.DataPropertyName = "MedicineNo";
colMedicineNo.HeaderText = "药品编号";
colMedicineNo.Width = 80;
dataGridView1.Columns.Add(colMedicineNo);
//添加药品名称列
DataGridViewTextBoxColumn colMedicineName = new DataGridViewTextBoxColumn();
colMedicineName.DataPropertyName = "MedicineName";
colMedicineName.HeaderText = "药品名称";
colMedicineName.Width = 150;
dataGridView1.Columns.Add(colMedicineName);
//添加生产厂家列
DataGridViewTextBoxColumn colManufacturer = new DataGridViewTextBoxColumn();
colManufacturer.DataPropertyName = "Manufacturer";
colManufacturer.HeaderText = "生产厂家";
colManufacturer.Width = 150;
dataGridView1.Columns.Add(colManufacturer);
//添加生产日期列
DataGridViewTextBoxColumn colManufactureDate = new DataGridViewTextBoxColumn();
colManufactureDate.DataPropertyName = "ManufactureDate";
colManufactureDate.HeaderText = "生产日期";
colManufactureDate.Width = 120;
dataGridView1.Columns.Add(colManufactureDate);
//添加保质期列
DataGridViewTextBoxColumn colShelfLife = new DataGridViewTextBoxColumn();
colShelfLife.DataPropertyName = "ShelfLife";
colShelfLife.HeaderText = "保质期";
colShelfLife.Width = 80;
dataGridView1.Columns.Add(colShelfLife);
//添加用途列
DataGridViewTextBoxColumn colUsage = new DataGridViewTextBoxColumn();
colUsage.DataPropertyName = "Usage";
colUsage.HeaderText = "用途";
colUsage.Width = 150;
dataGridView1.Columns.Add(colUsage);
//添加价格列
DataGridViewTextBoxColumn colPrice = new DataGridViewTextBoxColumn();
colPrice.DataPropertyName = "Price";
colPrice.HeaderText = "价格";
colPrice.Width = 80;
dataGridView1.Columns.Add(colPrice);
//添加数量列
DataGridViewTextBoxColumn colAmount = new DataGridViewTextBoxColumn();
colAmount.DataPropertyName = "Amount";
colAmount.HeaderText = "数量";
colAmount.Width = 80;
dataGridView1.Columns.Add(colAmount);
//添加经手人列
DataGridViewTextBoxColumn colHandler = new DataGridViewTextBoxColumn();
colHandler.DataPropertyName = "Handler";
colHandler.HeaderText = "经手人";
colHandler.Width = 120;
dataGridView1.Columns.Add(colHandler);
}
private void btnAdd_Click(object sender, EventArgs e)
{
//创建新行
DataRow newRow = ds.Tables[0].NewRow();
//设置新行的值
newRow["MedicineNo"] = txtMedicineNo.Text;
newRow["MedicineName"] = txtMedicineName.Text;
newRow["Manufacturer"] = txtManufacturer.Text;
newRow["ManufactureDate"] = dtpManufactureDate.Value.ToShortDateString();
newRow["ShelfLife"] = txtShelfLife.Text;
newRow["Usage"] = txtUsage.Text;
newRow["Price"] = txtPrice.Text;
newRow["Amount"] = txtAmount.Text;
newRow["Handler"] = txtHandler.Text;
//将新行添加到数据集中
ds.Tables[0].Rows.Add(newRow);
//更新DataGridView
dv = ds.Tables[0].DefaultView;
dataGridView1.DataSource = dv;
}
private void btnSave_Click(object sender, EventArgs e)
{
//更新数据库
sqlCmdBuilder = new SqlCommandBuilder(sqlDa);
sqlDa.Update(ds, "Medicine");
//提示保存成功
MessageBox.Show("保存成功!");
}
private void btnSearch_Click(object sender, EventArgs e)
{
//设置筛选条件
string filter = "1=1";
if (txtSearchMedicineNo.Text != "")
{
filter += " AND MedicineNo='" + txtSearchMedicineNo.Text + "'";
}
if (txtSearchMedicineName.Text != "")
{
filter += " AND MedicineName='" + txtSearchMedicineName.Text + "'";
}
if (txtSearchManufacturer.Text != "")
{
filter += " AND Manufacturer='" + txtSearchManufacturer.Text + "'";
}
if (txtSearchUsage.Text != "")
{
filter += " AND Usage='" + txtSearchUsage.Text + "'";
}
//根据筛选条件筛选数据
dv.RowFilter = filter;
}
}
}
```
以上是一个简单的基于C#的药品存销信息管理系统,包括药品信息的添加、修改、删除和查询等功能。您可以根据具体需求进行扩展和优化。同时,需要注意数据库的安全性和数据的准确性,避免数据泄露和错误。