三、上传织物图片至SQL Server并提供name进行展示织物照片

一、数据库的建立

还是在fiber_yy数据库下创建images表
在这里插入图片描述
images表设计如下
在这里插入图片描述

二、页面完善设计

main_page页面进行功能完善
在这里插入图片描述
入库管理系统
warehousing页面
在这里插入图片描述
库存查询系统
query页面
在这里插入图片描述

登录注册页面前面几个博文已经实现过了,这里就再赘述了,仍是沿用前面的登录注册页面及数据库

三、代码实现

main_page页面

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;namespace fiber_yy
{public partial class main_page : Form{public main_page(){InitializeComponent();}private void button1_Click(object sender, EventArgs e){MessageBox.Show("退出成功");this.Close();new Form1().Show();}private void button2_Click(object sender, EventArgs e){this.Close();new warehousing().Show();}private void button3_Click(object sender, EventArgs e){this.Close();new shipment().Show();}private void button4_Click(object sender, EventArgs e){this.Close();new query().Show();}}
}

warehousing页面

using System;
using System.IO;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.OleDb;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.Sql;
using System.Data.SqlClient;
namespace fiber_yy
{public partial class warehousing : Form{public string constr = "server=CY-20190824RMES;Initial Catalog=fiber_yy;User ID=sa;pwd=beyond";public warehousing(){InitializeComponent();}private void button2_Click(object sender, EventArgs e){OpenFileDialog ofdlgTest = new OpenFileDialog();//ofdlgTest.Filter = "*.jpg|*.png";   //文件过滤 筛选可以打开的文件ofdlgTest.Filter = "";ofdlgTest.Multiselect = false;    //设置不可以选择多个文件//显示文件打开对话框DialogResult result = ofdlgTest.ShowDialog();//选择打开按钮的时候,将文件名显示到文本框中if (result == DialogResult.OK)                   //判断是否打开文件{this.textBox9.Text = ofdlgTest.FileName;pictureBox1.Image = Image.FromFile(ofdlgTest.FileName);}}private void button1_Click(object sender, EventArgs e){string path = textBox9.Text;FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read); //将指定路径的图片添加到FileStream类中BinaryReader br = new BinaryReader(fs);//通过FileStream对象实例化BinaryReader对象byte[] imgBytesIn = br.ReadBytes(Convert.ToInt32(fs.Length));//将图片转为二进制数据//Save(imgBytesIn);//调用(自己写的一个方法)SqlConnection conn = new SqlConnection(constr);conn.Open();string name = textBox1.Text;SqlCommand cmd = new SqlCommand("insert into images (name,image) values(@name,@Image);", conn); //SQL语句cmd.Parameters.Add("@name", SqlDbType.VarChar);cmd.Parameters["@name"].Value = name;cmd.Parameters.Add("@Image", SqlDbType.Image);cmd.Parameters["@Image"].Value = imgBytesIn;cmd.ExecuteNonQuery();conn.Close();MessageBox.Show("图片上传成功");}private void button3_Click(object sender, EventArgs e){new main_page().Show();this.Hide();}}
}

query页面

using System;
using System.IO;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.OleDb;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.Sql;
using System.Data.SqlClient;namespace fiber_yy
{public partial class query : Form{public string constr = "server=CY-20190824RMES;Initial Catalog=fiber_yy;User ID=sa;pwd=beyond";public query(){InitializeComponent();}private void button1_Click(object sender, EventArgs e){try{byte[] MyData = new byte[0];SqlConnection conn = new SqlConnection(constr);string name = textBox1.Text;conn.Open();SqlCommand cmd = new SqlCommand();cmd.Connection = conn;cmd.CommandText = "select * from images where name='" + name + "'"; //写自己要查图片的name信息SqlDataReader sdr = cmd.ExecuteReader();sdr.Read();object o = sdr["Image"];MyData = (byte[])sdr["Image"];//读取第一个图片的位流MemoryStream memoryStream = null;memoryStream = new MemoryStream(MyData);pictureBox1.Image = Image.FromStream(memoryStream);//将图片赋给pictureBox1控件MessageBox.Show("读取成功");}catch {MessageBox.Show("读取失败,请检查是否存在该织物");}}}
}

四、效果演示

程序运行
在这里插入图片描述
注册我就不演示了,请参考前几篇博文
yy_user表中找个账号密码,直接用户登录
在这里插入图片描述
在这里插入图片描述
登录成功
在这里插入图片描述
进入系统
在这里插入图片描述
目前先初步实现了入库管理功能库存查询功能

先演示入库管理系统

原先数据库信息
在这里插入图片描述
入库管理功能目前主要是通过用户输入的面料名称和面料照片来存储

上传照片
在这里插入图片描述
在这里插入图片描述
入库
在这里插入图片描述
查看数据库信息

右击 images选择前1000行,更新数据库信息
在这里插入图片描述
最后一个为新入库的图片

接下来点击返回,返回到主页面,演示库存查询功能
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
点击button1
在这里插入图片描述

优化仍在继续…

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/377706.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

gettype_PHP gettype()函数与示例

gettypePHP gettype()函数 (PHP gettype() function) In PHP, we have a library function gettype() to identify the type of data. The function is primarily used to sanity check the type of data being input in a variable. The function can identify the data into …

ARM MMU工作原理剖析[转]

一、MMU的产生 许多年以前,当人们还在使用DOS或是更古老的操作系统的时候,计算机的内存还非常小,一般都是以K为单位进行计算,相应的,当时的程序规模也不大,所以内存容量虽然小,但还是可以容纳当…

栈与队列在SGI STL的底层实现

栈 栈提供push和pop等接口,不提供走访功能,也不提供迭代器。 STL中栈不被归类为容器,而被归类为container adapter(容器适配器),这是因为栈是以底层容器完成其所有的工作,对外提供统一的接口,底层容器是可…

【原创】SharePoint Document library List Check out 文档时碰到的问题解决

环境:TFS(Team Foundation Server)集成的WSS 3.0(SharePoint Service 3.0) 问题:如题,祥见下图 解决:一般碰到没有经验的问题,大家当然是外事不决问谷歌了,于是谷歌搜到了这篇博客 h…

getdate函数_PHP getdate()函数与示例

getdate函数PHP getdate()函数 (PHP getdate() function) getdate() function is used to get the local date/time (or it is also used to get the date/time based on the given timestamp. getdate()函数用于获取本地日期/时间(或也用于根据给定的时间戳获取日期/时间。 S…

四、入库管理功能的完善

一、数据库的创建 在fiber_yy数据库下创建yy_textile表 先随便添加几条数据 二、页面的完善 登录注册页面我就不演示了,前几篇博文也都有介绍 warehousing入库页面 main_page页面进行功能完善 三、代码实现 warehousing页面 using System; using System.…

leetcode 232. 用栈实现队列 思考分析

题目 请你仅使用两个栈实现先入先出队列。队列应当支持一般队列的支持的所有操作(push、pop、peek、empty): 实现 MyQueue 类: void push(int x) 将元素 x 推到队列的末尾 int pop() 从队列的开头移除并返回元素 int peek() 返…

YCSB初步介绍

随着大数据时代的到来和云计算的不断发展,作为云计算最基础的设施存储产品也越来越多,开源分布式存储系统有BigTable-like系统HBase,dynamo-like系统Cassandra,voldemort,Riak,淘宝开源的OceanBase等。当然…

kotlin实现继承_Kotlin程序| 继承的例子

kotlin实现继承遗产 (Inheritance) Inheritance is a mechanism wherein a new class is derived from an existing class. 继承是一种机制,其中新类是从现有类派生的。 All Kotlin Classes have a common Superclass Any, it is the Default Superclass with no S…

【C++grammar】动态类型转换、typeid与RTTI

目录动态类型转换1、为何需要动态类型转换2、dynamic_cast<>();运算符3、向上转换和向下转换( Upcasting and Downcasting)4、 基类对象和派生类对象的互操作5、Upcasting/Downcasting与继承链上不同类的对象之间的赋值有什么关系和区别&#xff1f;typeid 运行时查询类型…

nginx资源定向 css js路径问题

今天玩玩项目&#xff0c;学学nginx发现还不错&#xff0c;速度还可以&#xff0c;但是CSS JS确无法使用&#xff0c;原来Iginx配置时需要对不同类型的文件配置规则&#xff0c;真是很郁闷&#xff0c;不过想想也还是很有道理。闲暇之际&#xff0c;把配置贴上来。#user nobody…

五、库存查询功能的完善

一、数据库的建立 由于查询功能和之前的 入库管理功能 所用的数据库都一样&#xff0c;这里仍使用yy_textile表 在fiber_yy数据库下创建yy_textile表 初始数据库信息 二、页面的完善 登录注册页面我就不演示了&#xff0c;前几篇博文也都有介绍 query查询页面 main_page…

整合ajaxmin 和 less 到VS.net

我用的前端框架是bootstrap_extra, twitter团队做的&#xff0c;这个是他的一个扩展&#xff0c;首先从上面下载一个。至于ajaxmin&#xff0c;请参考这里1) 从bootstrap_extra的解压包中&#xff0c;复制build目录下三个文件到项目中去&#xff0c;这三个文件分别是BatchSubsi…

转:只能选择GridView中的一个CheckBox(单选CheckBox)

方法1&#xff1a; protected void GridView2_RowDataBound(object sender, GridViewRowEventArgs e){CheckBox cbx e.Row.FindControl("cbID") as CheckBox;try{//绑定选中CheckBox 客户端IDcbx.Attributes.Add("onclick", "Change(" cbx.Cli…

六、出库管理功能的实现

一、数据库的建立 这里仍使用yy_textile表 在fiber_yy数据库下创建yy_textile表 初始数据库信息 二、页面的完善 登录注册页面我就不演示了&#xff0c;前几篇博文也都有介绍 shipment出库管理页面 main_page页面进行功能完善 三、代码实现 shipment出库管理页面 u…

数学建模:层次分析法实例以及代码

博主联系方式&#xff1a; QQ:1540984562 QQ交流群&#xff1a;892023501 群里会有往届的smarters和电赛选手&#xff0c;群里也会不时分享一些有用的资料&#xff0c;有问题可以在群里多问问。 目录层次分析法的思想层次分析法步骤具体案例(市政工程项目建设决策)1.问题提出2.…

c 僵尸进程_演示僵尸进程的C程序

c 僵尸进程僵尸进程 (Zombie process) A process which has finished its execution but still has an entry in the process table to report to its parent process is known as a zombie process. 一个已经完成执行但仍在进程表中具有要报告给其父进程的条目的进程称为僵尸进…

探秘IntelliJ IDEA 13测试版新功能——调试器显示本地变量

IntelliJ IDEA在业界被公认为最好的Java开发平台之一&#xff0c;JetBrains公司将在12月正式发布IntelliJ IDEA 13版本。 现在&#xff0c;小编将和大家一起探秘密IntelliJ IDEA 13测试版本新功能——调试器显示本地变量。这个功能非常强大&#xff0c;调试器可以显示变量&…

C# Windows Form下的控件的Validator(数据验证)

由于偶尔的一个想法&#xff0c;谋生了一个做一个windows form下的Validator控件&#xff0c;或者直接说类吧&#xff01; 因为webform下的Validator控件太好用了。哈哈&#xff0c;直接看代码&#xff01; 下面这个类&#xff0c;主要是一个简单的验证类&#xff0c;不过只是起…

七、流水查询---记录用户登录信息

一、数据库的建立 在fiber_yy数据库下创建yy_user_record表 可以先手动填入几条数据信息 初始数据库信息 username为用户账号 sex为用户注册所填写的性别 phone为用户手机号 time为用户登录该系统的时间 二、页面的设计 登录注册页面我就不演示了&#xff0c;前几篇博文…