~并没有看起来这么简单,
~

前言

是一个写了一段时间的winform小程序作业:
记录一下开发过程,单纯记录下来,希望自己的努力不要随风飘散,挺有意思的
感谢组员的合作和帮助
~

开发工具

开发工具:vs2019 ,navicat(数据库管理工具)
依赖项:mysql
开发语言:C#
~

开发要求

开发要求:
有登录注册的GUI用户界面,
是药品采购管理平台,
商家上传药物,药物有序号和生产商等信息,
买家可以购买药品,并且要下单,上传药品的用户可以同意,并受理,
可以看到自己买的药品

准备

1.准备数据库

本来我的服务器上有mysql数据库的,结果被自己配坏了,建议别随便碰my.cnf,然后去腾讯云买了一个云数据库:

用navicat连接好数据库,以便操作:


连接好,已经创建好了表:

2.用C#写好前端登录和注册界面



就是登陆注册最基本的框体,很好想,
现在要求能完成注册,和注册,
这样想:
~
(1)先去登陆,点击按钮,就去数据库里查询是否有该用户名,而且并且其密码,要和存入的一样,一般情况下,要将密码等md5加密,然后去看和数据库的md5字符串是否一样
~
(2)去注册,则用"select"语句去检测,数据库中有无该用户名,没有的话则直接"insert"插入,然后就能登陆了

C#操作mysql数据库的方式:
去下载这两个组件,然后导入,可以进行mysql操作


定义连接数据库的字符串,

 MySqlConnection conn = new MySqlConnection(serverinfo); //建立连接try{conn.Open(); //打开//建立sql语句string sql = "select count(*) from userINFO.loginINFO where name = '" + username + "' and passwd = '"+ passwd + "'";MySqlCommand com = new MySqlCommand(sql, conn);

使用类:MySqlConnection类来实现其和数据库的连接,
然后执行sql语句,判断是否有一样的登录信息,
~
接下来,判断执行的语句是否有回显,即是否存在,存在就登录成功:
com.好返回其查询的第一行第一列,即判断回显:

 int resp = Convert.ToInt32(com.ExecuteScalar()); //判断是否存在if (resp > 0){label4.Text = "";MessageBox.Show("登录成功!");this.Hide();f2.Show();conn.Close();//关闭连接}

注册:
注册的话,先用sql语句判断数据库中是否已存在注册的用户名等,
如果有回显,则报错:

try{conn.Open(); //打开//建立sql语句string sql_1 = "select count(*) from userINFO.loginINFO where name = '"+ username+"'";string sql_2 = "select count(*) from userINFO.loginINFO where name = '" + nickname + "'";MySqlCommand com_1 = new MySqlCommand(sql_1, conn);MySqlCommand com_2 = new MySqlCommand(sql_2, conn);int resp_1 = Convert.ToInt32(com_1.ExecuteScalar()); //分别判断是否存存在int resp_2 = Convert.ToInt32(com_2.ExecuteScalar());if (resp_1 > 0){MessageBox.Show("用户名已存在!请重新输入!");label5.Text = "";}else{if(resp_2 > 0){MessageBox.Show("昵称已存在,请重新输入");label5.Text = "";}else{String sql_insert = "insert into userINFO.loginINFO(name,passwd,nickname) VALUES('" + username + "','" + passwd +"','"+nickname + "')";MySqlCommand com_3 = new MySqlCommand(sql_insert, conn);com_3.ExecuteNonQuery();  //执行MySqlCommand com_4 = new MySqlCommand(sql_1, conn); //检验数据库里是否加入了注册数据com_4.ExecuteNonQuery();  //执行int resp_4 = Convert.ToInt32(com_4.ExecuteScalar());com_3 = null;if (resp_4 > 0){MessageBox.Show("恭喜! " + nickname + ",注册成功,快去登陆吧!");label5.Text = "";Form1 f1 = new Form1();this.Hide();                      f1.Show();}else{MessageBox.Show("注册失败!请重试!");label5.Text = "";}}}conn.Close();//最后关闭连接}catch (Exception ex){MessageBox.Show("出现了未知的错误,请联系管理员.");label5.Text = "";}}

没有的话,就往数据库中插入,注册的用户名和密码:

就能登陆了

3.菜单界面

4.药品入库


点击按钮,则把数据存入数据库:
存入数据的sql语句如下:

可以用一个单向链表做一个临时缓存,也可以直接存:
可以点击按钮把数据库信息呈现在datagridview上面:

如何读取到datagridview:

读取并更改表头信息:

try{MySqlConnection conn = new MySqlConnection(serverinfo); //建立连接conn.Open();string sql = "select * from userINFO.medicineINFO;";MySqlDataAdapter sda = new MySqlDataAdapter(sql, conn);//读取表数据DataTable dt = new DataTable();//dt是一个表类型。sda.Fill(dt);//把sda读取的数据填到dt里dataGridView1.DataSource = dt;//把dt的内容绑定到Gridview1里显示。dataGridView1.Columns[0].HeaderCell.Value = "药品名";dataGridView1.Columns[1].HeaderCell.Value = "序号";dataGridView1.Columns[2].HeaderCell.Value = "生产商";dataGridView1.Columns[3].HeaderCell.Value = "现存量";dataGridView1.Columns[4].HeaderCell.Value = "总库存";dataGridView1.Columns[5].HeaderCell.Value = "单价";dataGridView1.Columns[6].HeaderCell.Value = "上传商家";}catch (Exception ex){MessageBox.Show("显示出错,请联系管理员.");}

将数据插入数据库:

 MySqlConnection conn = new MySqlConnection(serverinfo); //建立连接try{conn.Open(); //打开//建立sql语句string sql = "insert into userINFO.medicineINFO(name,num,rootname,stock,total,price,rootuser) VALUES('" + name + "','" + num + "','" + rootname + "','" +stock + "','" +total+ "','"+price+ "','"+rootuser+"')";MySqlCommand com = new MySqlCommand(sql, conn);com.ExecuteNonQuery();  //执行conn.Close();}catch(Exception ex){MessageBox.Show("上传出错,请稍候重试");}

5.购买药品


最上面那个是datagridview同样的原理可以读取数据库数据:
该构件有一个点击事件
将其写成点击则创建购买订单:

双击之后提取出信息,存入订单表:

点击确认购买,可以存入订单表,我的订单功能,可以查询是否有订单,

在我的订单中,看到了别人的请求,双击之后将其存入已完成订单表,双方都能看见

表单间的值传递,可以使其随时得到用户名信息,即为多个窗口传递信息;


可以记载一个传递方式,当然用session也是可以的。
功能比较简单,
期待能有更有意思的东西.

C#开发药品集中采购系统[开发过程]相关推荐

  1. 权限管理(药品集中采购系统为例子)

    权限管理,一般指根据系统设置的安全规则或者安全策略,用户可以访问而且只能访问自己被授权的资源. 权限管理设计模型 用户权限管理模型(用到5张表:权限表.角色表.用户表.角色和权限关系表, 用户和角色关 ...

  2. node医保药品集中采购平台-采购系统的设计与实现 毕业设计-附源码271542

    Node.js医保药品集中采购系统 摘要 为"解决看病贵,吃药贵"的问题,找出药品流通环节,地区供价差异,顺加作价机制不合理,合同不规范执行,药品市场缺乏竞争等问题原因.完善药品集 ...

  3. (附源码)node医保药品集中采购平台-采购系统的设计与实现 毕业设计271542

    Node.js医保药品集中采购系统 摘要 为"解决看病贵,吃药贵"的问题,找出药品流通环节,地区供价差异,顺加作价机制不合理,合同不规范执行,药品市场缺乏竞争等问题原因.完善药品集 ...

  4. node.js医保药品集中采购平台-采购系统的设计与实现271542

    Node.js医保药品集中采购系统 摘 要 为"解决看病贵,吃药贵"的问题,找出药品流通环节,地区供价差异,顺加作价机制不合理,合同不规范执行,药品市场缺乏竞争等问题原因.完善药品 ...

  5. 市级医药集中采购系统(一)

    项目开发 1.1项目名称 l   中文名称:市级医药集中采购系统 l   英文名称:yycg 1.2项目介绍 1.2.1项目背景 l  医药行业对应法律.法规不健全,医药市场比较混乱,国家推出试点项目 ...

  6. 基于SpringBoot框架的药品在线销售系统的设计与实现

    药品在线销售系统是为药品商家提供的在线销售管理系统,本系统的研发设计能够增加药品商家的药品宣传和推广,提升客流量和订单量,增加商家的营业收益.原有的药品销售系统管理采用手工管理的方式,各种药品宣传和订 ...

  7. AgileEAS.NET平台开发案例-药店系统-项目说明

    为什么80%的码农都做不了架构师?>>>    开篇 我们都知道开发一个软件必须要有开发的背景和特殊的需求等等,我们就来分析我们开发该系统的项目背景和开发该项目的目的.下面我们来分析 ...

  8. 嵌入式系统开发过程中遇到的——volatile

    嵌入式 系统开发过程中遇到的-- volatile 对于不同的计算机体系结构,设备可能是端口映射,也可能是内存映射的 .如果系统结构支持独立的 I/O 地址空间,并且是端口映射,就必须使用汇编语言完成 ...

  9. Thinkphp5 开发 OA 办公系统 - 数据库设计

    2019独角兽企业重金招聘Python工程师标准>>> 自从接触到用PowerDesigner做数据库建模后,喜欢它就停不下来了.我发现现在很多2-20人的团队在做数据库结构设计时, ...

最新文章

  1. java opencv 调用摄像头_opencv C++实现调用摄像头动态识别人脸
  2. 标签页如何用php静态显示,php使用标签替换的方式生成静态页面
  3. U盘专杀工具,U盘防御软件,U盘病毒防火墙--UDiskSyS
  4. C语言很难学?不不不,只需要这几步!
  5. Efficient scaling in a Task-Based Game Engine
  6. 解决弹出的窗口window.open会被浏览器阻止的问题
  7. 創業團隊基建工具選擇
  8. vue3 main.js引入 axios_Vue3.0新特性探索
  9. asx根据时间点播放
  10. 解读《视觉SLAM十四讲》,带你一步一步入门视觉SLAM—— 前言
  11. java web 教学视频_超全面的JavaWeb视频教程
  12. 教你们一招免300元直接认证小程序的办法
  13. 打开Windows自带的画图工具
  14. 图像处理的一些相关知识(Related knowledge for IQA)
  15. mp4,m3u8,rtsp,rtmp,flv,直播流在线测试地址
  16. python的ppt报告_Python学习报告.ppt
  17. microduino与onetnet测试
  18. Nii图像的读取、操作与保存
  19. 四个锻炼方法腰椎间盘突出症全治好
  20. 【读过的书】《杠杆阅读术》

热门文章

  1. openId -( 关注者Id )如何获取 open ID
  2. 使用 pandas 对数据进行并行处理
  3. Skynet 通过组播(Multicast)实现一个简单的世界频道
  4. php微信小程序实现留言,微信小程序实现留言功能
  5. 卸载JDK-----干干净净无痕迹
  6. HERE宣布与四维图新合作 将地图服务扩展至中国
  7. timm----深度学习预训练模型库使用
  8. 新手站长如何快速交换高质量的友情链接
  9. Springboot+vue 体质测试数据分析#毕业设计
  10. 用smtplib来发送邮件