jbutton添加点击事件_C#把图片添加到数据库

这是一个简单的向数据库中添加图片,显示图片的demo。

Demo中用到的数据库是sqlserver,其中有调用几个操作数据库的静态方法是我从自己写的一个sqlhelp静态类中提取出来的。

这里用到的功能比较少,所以我就没有将sqlhelp类贴出来了,如果有兴趣的朋友可以私信或者留下邮箱我发给你。

由于个人能力有限,难免会有遗漏或者不足之处,欢迎大家批评指正!

以下是具体实现步骤:

打开数据库管理软件sql server management studio 新建一个数据库,取名myPicData,如图:

a6f71236484b853ead6811035d21b02d.gif

打开visual studio 新建一个winform应用程序,在设计器中添加三个控件button listbox picturebox

  1. Button控件添加click事件,用来添加图片
  2. Listbox控件添加鼠标点击事件,用来显示数据库中的图片列表,点击列表中的item显示图片
  3. PictureBox控件用来显示图片,设置控件的BackgroundImageLayout属性为ImageLayout.Stretch

如图:

393b2a06d3b49d6f4b18e7c716be7332.png
ee2c3c64c13784fac6e94dda9669726b.png

在窗口的load事件中判断数据库中是否有保存图片的表,如果没有则新建一个

//在数据库中新建一个pic_Table表用来保存添加的图片

string sql = @"CREATE TABLE pic_Table

(ID int NOT NULL IDENTITY(1,1) PRIMARY KEY, name nvarchar(50) NOT NULL, picture image NOT NULL, date datetime NOT NULL )";

//获取当前数据库中所有表

List tableList = new List();

GetTableInDatabase(tableList);

//判断pic_Table表(库存表)是否存在 没有则创建

if (!tableList.Contains("pic_Table"))

{

ExecuteNonQuery(sql);

}

27d56519ad804f8dbd12adddf93479da.png

下面是listbox鼠标点击事件

30deb83b85094d5e12805a3952e245c6.png

两个操作数据库的静态方法

301af1e91ae5c3b52ae3cfa177db2af0.png

获取数据库的所有的表

4a591d40d3cc66e85a661481c21cefb8.png

从数据库中获取数据更新listbox列表

5c9a39e695e338d66fb2827914dd4576.png

添加图片的方法我就不截图了,贴在后面的所有代码中

完整代码如下:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Data.SqlClient;

using System.Drawing;

using System.IO;

using System.Linq;

using System.Text;

using System.Windows.Forms;

namespace 图片添加到数据库

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

//连接数据库

private static readonly string constr = "server=19.41.238.68;database=myPicData;uid=sa;pwd=xia123456";

private void Form1_Load(object sender, EventArgs e)

{

//在数据库中新建一个pic_Table表用来保存添加的图片

string sql = @"CREATE TABLE pic_Table

(ID int NOT NULL IDENTITY(1,1) PRIMARY KEY, name nvarchar(50) NOT NULL, picture image NOT NULL, date datetime NOT NULL )";

//获取当前数据库中所有表

List tableList = new List();

GetTableInDatabase(tableList);

//判断pic_Table是否存在 没有则创建

if (!tableList.Contains("pic_Table"))

{

ExecuteNonQuery(sql);

}

//将pictureBox控件的背景图片布局属性设置为平铺

this.pictureBox1.BackgroundImageLayout = ImageLayout.Stretch;

//给listbox控件添加鼠标单击事件

this.listPic.MouseClick += listPic_MouseClick;

//从数据库中加载图片信息列表在listbox中

UpdatePicNameList();

}

//鼠标单击显示图片信息

void listPic_MouseClick(object sender, MouseEventArgs e)

{

if (listPic.SelectedIndex >= 0)

{

string sqlstr = "select * from [dbo].[pic_Table] where name = @picName";

SqlParameter par = new SqlParameter("@picName

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值