oracle 处理图片,oracle数据库存取图片方法教程-Oracle
数据库存取图片信息,有两种方式:
1)转换成二进制数据存储,故首先设置对应的数据字段数据类型为Blob.
2)服务器设置路径保存上传文件,数据库中只存储文件路径。
这里采用第一种方式简单示范如何存储并取出图片。涉及几个类的使用,已经做出简单注释。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Data.OracleClient;//添加引用
namespace ImageDemo
{
public partial class Form1 : Form
{
OpenFileDialog filedialog;
string connstr = "";
public Form1()
{
connstr = "Data Source=xxx;user id=xxx;password=xxx";
InitializeComponent();
}
///
/// 获得要上传的文件
///
///
///
private void button2_Click(object sender, EventArgs e)
{
filedialog = new OpenFileDialog();
filedialog.FilterIndex = 1;
filedialog.Filter = "jpg files (*.jpg)|*.jpg|All files (*.*)|*.*";
if (filedialog.ShowDialog() == DialogResult.OK)
{
txtpath.Text = filedialog.FileName;
}
}
///
/// 上传到数据库中:往数据库存入图片信息
///
///
///
private void button1_Click(object sender, EventArgs e)
{
Cursor.Current = Cursors.WaitCursor;
//获得上传图片的二进制信息
byte[] buffer = File.ReadAllBytes(txtpath.Text.Trim());
Random rd = new Random();
string name = rd.Next(999).ToString();
string sql = "insert into ivan_qq_user(id,name,image) values('"+Guid.NewGuid().ToString()+"','"+name+"',:image)";
using (OracleConnection conn = new OracleConnection(connstr))
{
conn.Open();
OracleCommand cmd = new OracleCommand(sql, conn);
//指名参数类型为Blob
cmd.Parameters.Add(":image", OracleType.Blob);
cmd.Parameters[":image"].Value = buffer;
cmd.ExecuteNonQuery();
}
PreviewImage(name);
Cursor.Current = Cursors.Default;
MessageBox.Show("Done.....");
}
///
/// 预览图像信息:从数据库读图片信息
///
///
private void PreviewImage(string name)
{
ISDApp01.ISDApp01 isd = new ImageDemo.ISDApp01.ISDApp01();
string sql = "select image from IVAN_QQ_USER where name='"+name+"'";
using (OracleConnection conn = new OracleConnection(connstr))
{
conn.Open();
OracleCommand cmd = new OracleCommand(sql,conn);
//获得数据信息并转换成二进制
byte[] fileData = cmd.ExecuteScalar() as byte[];
MemoryStream ms = new MemoryStream(fileData);
//把二进制信息转换成image并show出
Image image = Image.FromStream(ms);
pictureBox1.Image = image;
}
}
}
}
oracle 处理图片,oracle数据库存取图片方法教程-Oracle相关推荐
- oracle通过DBlink连接神通数据库方法教程
oracle通过DBlink连接神通数据库方法教程 (其他数据库也可以) **1.首先确认自己电脑版本 ** 找到Microsoft ODBC ,exe程序位置 :C:\Windows\System3 ...
- delphi使用ADO在sql数据库存取图片的方法
delphi使用ADO在sql数据库存取图片的方法 新手参考,老鸟绕行 我一直不认为能把代码写的和天书一样的程序员是好的程序员,那不过是因为我真的对delphi也就是略懂皮毛,太深了看不懂. 网上查询 ...
- 安卓 mysql读取图片路径_android开发之数据库存取图片
Android数据库中存取图片通常使用两种方式,一种是保存图片所在路径,二是将图片以二进制的形式存储(sqlite3支持BLOB数据类型).对于两种方法的使用,好像第二种方法不如第一种方法更受程序员欢 ...
- mysql如何植入到oracle_分享MSSQL、MySql、Oracle的大数据批量导入方法及编程手法细节...
1:MSSQL SQL语法篇: BULK INSERT [ database_name . [ schema_name ] . | schema_name . ] [ table_name | vie ...
- oracle如何根据ID恢复部分数据,三种方法找回Oracle数据库误删除的数据
三种方法找回Oracle数据库误删除的数据 最新动态来源:点击数:6141更新时间:2018/5/10 有很多朋友都遇到过在操作数据库时误删除某些重要数据的情况,如果数据库没有备份而且数据有十分重要的 ...
- ifix oracle,IFIX实时数据通过ODBC转存到Oracle
<IFIX实时数据通过ODBC转存到Oracle>由会员分享,可在线阅读,更多相关<IFIX实时数据通过ODBC转存到Oracle(7页珍藏版)>请在人人文库网上搜索. 1.一 ...
- oracle导出BOM文件,ORACLE ERP导数据(BOM清单)-备份恢复-Oracle频道-中国IT实验室
方法:把数据导入BOM清单的方法是,把数据导入接口表中,让其自动运行既可.上传文件的时候,要注意使 用ASCII字符模式. 1.自己建立一中转表 drop table cux_bill_te ...
- mysql查询bom清单,ORACLE ERP导数据(BOM清单)-数据库专栏,ORACLE
方法:把数据导入bom清单的方法是,把数据导入接口表中,让其自动运行既可.上传文件的时候,要注意使 用ascii字符模式. 1.自己建立一中转表 drop table cux_bill_te ...
- oracle导入初始数据死机,Sqoop导入Oracle数据至hive卡死在hive.HiveImport: Connecting to jdbc:hive2不执行...
环境信息: HDP-3.1.4 已经下载好odjbc8.jar驱动程序放置在/usr/hdp/current/sqoop-client/lib/目录 Sqoop读取Oracle数据库数据导入Hive时 ...
最新文章
- 根据c语言数组定义填写下表,C语言程序设计 自测题(三)
- linux6.4 vnc安装与配置,Oracle Enterprise Linux 6.4 下配置vncserver
- python mysqldb安装_解决centos7 安装MySQLdb-python 报错 方案
- css3 transform matrix 深入理解
- GridView调用setAdapter()函数时发生错误
- 在c#中用mutex类实现线程的互斥_面试官经常问的synchronized实现原理和锁升级过程,你真的了解吗...
- mysql+使用swap_MySQL避免使用SWAP
- 对java并发性的理解,【图片】你了解过Java并发编程:性能、扩展性和响应的高端操作吗?【java吧】_百度贴吧...
- Leapmotion 找到那双手和一些交互案例
- datatables java 分页_DataTables后台分页的使用
- Java UDP通信详解:单播、广播、组播
- 计算机软考里面的英语试题,2011全国计算机软考网管英语试题及答案(4)
- ie edge浏览记录文件_如何在Microsoft Edge中清除浏览历史记录
- 超大硬盘linux快速格式化,Linux系统下超大硬盘快速格式化详解
- 新浪(1998年12月—2000年3月)
- 《R语言入门与数据分析》
- 计算机考研数学和英语难吗,英语难还是数学难
- python 实现雪容融
- 如何实现只有一个路由器不同网段pc间的互通
- 服! 买不起2.6亿一只的加密猫, 他用10分钟生了一窝!
热门文章
- 微信可以上锁了,从此不要担心了!(文末赠书)
- 王者荣耀服务器能不能注销,《王者荣耀》注销账号怎么回事?《王者荣耀》注销账号后能复原吗...
- 2018-12-15全球区块链今日热点
- python 预编译_python 预编译
- 生成licence文件
- MTSEA,2732568-75-9可修饰游离半胱氨酸残基
- 游离分支提交丢失找回
- 从前端小白到大佬 第九天
- 盲盒交友变现系统/脱单盲盒/一元交友/存取小纸条盲盒/分销功能/盲盒交友小程序
- 自由恋爱离婚率高.婚姻就是找匹配,无关形式