社区
VB
帖子详情
如何将Excel表中照片字段中的照片保存到oracle数据库中
gislyc
2011-04-29 09:10:31
我现在需要将Excel表中照片字段中的照片保存到oracle数据库中,在网上找了相关的内容,结果不是很满意,不知哪位高手可以指点一下,非常感谢!
...全文
96
2
打赏
收藏
如何将Excel表中照片字段中的照片保存到oracle数据库中
我现在需要将Excel表中照片字段中的照片保存到oracle数据库中,在网上找了相关的内容,结果不是很满意,不知哪位高手可以指点一下,非常感谢!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xlh0053
2011-05-06
打赏
举报
回复
以下仅供参考
(注意在看的时候,也没有必要全部看,首先看骨架,然后在看图片怎么保存到数据库中的就行了,另外,这里涉及到了fileSream流,主要是用来读取数据,与此相关的还有网络方面的NetworkStream,呵呵,还有很多)
微软的SQL SERVER数据库的Image、text等字段都属于二进制的大对象。这些对象的存取和其他轻型对象略有不同。比如,我们打开一个数据表的时候,普通类型的字段都可以看见,而Image类型的字段却不行,只能通过编程的方法来读取。这篇资料就是介绍怎样用vb.NET来向sql server数据库中存放图片,怎样从数据库中取出图片浏览
这个例程用到了 sql server自带的northwind数据库,其中employees(职员)数据表有一个字段“photo”,是用来存放照片的,里面有9条记录,我费了半天力气,想去看看那9个人图片,就是看不见。现在猜测,这些人的photo根本就是空的。所以,我决定添加一些新的记录。
在这个例程里,我实现了一个简单的WinForm程序,这个程序通过点击“Open”按钮选择一个图片文件(bmp或jpg),并显示在图形控件PictureBox中。通过“Save”按钮存入数据库。点击“View”CheckBox可以切换到浏览状态,观看存入数据库的图片。
微软.NET Framework的System.IO命名空间下给我们提供了一个FileStream文件流类。我们可以使用这个文件流对二进制大对象轻松进行读写。由于对二进制大对象使用的流操作,所以对于任何文件都具有通用性。读写文本文件也可以这么做。
步骤:
1、 先来看一下northwind数据库中employees表结构
2、 知道.net连接sql server的方法嘛,不知道的话,看看我写的“ado.net中的connection对象”吧。读懂下面这几句没问题吧:
Dim conn as new sqlconnection(“server=localhost;database=northwind;Integrated Security=true;”
Dim sqlcomm As New SqlCommand
sqlcomm.Connection = conn
sqlcomm.CommandText = "INSERT INTO employees (lastname,firstname,photo) VALUES (@lastname,@firstname,@photo)"
Dim prm1 As New SqlParameter("@lastname", txtLN.Text)
Dim prm2 As New SqlParameter("@firstname", txtFN.Text)
Dim prm3 As New SqlParameter("@photo", SqlDbType.VarBinary, Int(fs.Length), _ ParameterDirection.Input, False, 0, 0, "", DataRowVersion.Current, Data)
sqlcomm.Parameters.Add(prm1)
sqlcomm.Parameters.Add(prm2)
sqlcomm.Parameters.Add(prm3)
3、新建一个windows应用程序窗体
4、 声明类级的变量。找到设计期产生的代码部分,把下面的语句加到变量声明后面。什么?不知道变量声明在哪儿?不会吧!
Private fs As FileStream
Private ds As DataSet
Private conn As New SqlConnection("server=localhost;database=northwind;integrated security=true;")
Private currentpos As Integer = 9
5、 开始写代码了。首先是form_load
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
btnOpen.Enabled = True
btnSave.Enabled = True
btnBack.Enabled = False
btnForward.Enabled = False
End Sub
6、 open按钮的点击事件代码:
Private Sub openbtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOpen.Click
Dim Opendlg As New OpenFileDialog
Opendlg.Title = "Select a picture file"
Opendlg.Filter = "(*.bmp)|*bmp|(*.jpg)|*.jpg"
Opendlg.ShowDialog()
lblPath.Text = Opendlg.FileName.ToString()
fs = New FileStream(Opendlg.FileName.ToString(), FileMode.Open, FileAccess.Read)
PictureBox1.Image = Image.FromFile(Opendlg.FileName.ToString())
End Sub
7、 save按钮的点击事件代码
Private Sub savebtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click
Dim sqlcomm As New SqlCommand
sqlcomm.CommandText = "INSERT INTO employees (lastname,firstname,photo) VALUES (@lastname,@firstname,@photo)"
sqlcomm.Connection = conn
Dim Data(fs.Length) As Byte
fs.Read(Data, 0, Int(fs.Length))
Dim prm1 As New SqlParameter("@lastname", txtLN.Text)
Dim prm2 As New SqlParameter("@firstname", txtFN.Text)
Dim prm3 As New SqlParameter("@photo", SqlDbType.VarBinary, Int(fs.Length), ParameterDirection.Input, False, 0, 0, "", DataRowVersion.Current, Data)
sqlcomm.Parameters.Add(prm1)
sqlcomm.Parameters.Add(prm2)
sqlcomm.Parameters.Add(prm3)
Try
conn.Open()
sqlcomm.ExecuteNonQuery() '执行插入语句
conn.Close()
fs.Close()
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
8、 选择view状态的事件代码
Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged
If CheckBox1.Checked = True Then
btnOpen.Enabled = False
btnSave.Enabled = False
btnBack.Enabled = True
btnForward.Enabled = True
currentpos = 9
Dim sqlcomm As New SqlCommand
sqlcomm.CommandText = "SELECT employeeId, photo FROM employees ORDER BY employeeId"
sqlcomm.Connection = conn
Dim da As New SqlDataAdapter(sqlcomm)
Try
conn.Open()
ds = New DataSet
da.Fill(ds, "employees")
conn.Close()
Catch sqlEx As SqlException
MsgBox(sqlEx.Message)
End Try
Dim data() As Byte = ds.Tables("employees").Rows(9)("photo")
Dim stmphoto As New MemoryStream(data)
PictureBox1.Image = Image.FromStream(stmphoto)
Else
btnOpen.Enabled = True
btnSave.Enabled = True
btnBack.Enabled = False
btnForward.Enabled = False
End If
End Sub
9、 “>>”按钮点击事件代码
Private Sub forward_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnForward.Click
If currentpos = ds.Tables("employees").Rows.Count - 1 Then
Return
Else
currentpos += 1
Dim data() As Byte
data = ds.Tables("employees").Rows(currentpos)("photo")
Dim stmphoto As New MemoryStream(data)
PictureBox1.Image = Image.FromStream(stmphoto)
End If
End Sub
10、 “<<”按钮点击事件代码
Private Sub back_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBack.Click
If currentpos = 9 Then
Return
Else
currentpos -= 1
End If
Dim Data() As Byte
Data = ds.Tables("employees").Rows(currentpos)("photo")
Dim stmPhoto As New MemoryStream(Data)
PictureBox1.Image = Image.FromStream(stmPhoto)
End Sub
(我是摘录的 http://blog.chinaunix.net/u1/36875/showart_283820.html)
Excel
导入
Oracle
工具
这个工具很好用!可批量导入!
通过
Excel
管理表结构自动生成创建表sql文支持(sqlserver,
oracle
)
在
excel
中
方便地管理
数据库
表结构,通过管理的结构自动生成创建表sql文,支持生成sqlserver脚本和
oracle
脚本;模板默认都是sqlserver
数据库
字段
类型,只需要把
oracle
对应的类型对应关系维护一下就可以自动生成
oracle
脚本了,同时支持多Sheet
java版
Excel
文件导入
数据库
源代码
java版
Excel
文件导入
数据库
源代码 servlet容器:tomcat(或者其他)
数据库
:
oracle
(或者其他) 使用框架:jsp+struts1.2 支持字符型/数据型/日期型/CLOB等数据 使用步骤: 1.下载本资源,解压后得到4个文件:
Excel
ImpDataBase项目/测试用test.xls文件/帮助文档readme.txt/
数据库
表创建源码文件text.sql 2.将
Excel
ImpDataBase项目部署到servlet容器,启动容器 3.(以tomcat,端口号8080为例)访问项目http://localhost:9999/
Excel
ImpDataBase进入实用页面 4.使用页面参数举例说明(以
oracle
为例):
数据库
用户名:test//登录名
数据库
密码:test//登录密码
数据库
:cucf//sid
数据库
地址:192.168.1.101//
数据库
服务器IP 需要导入的
excel
文件: //浏览可选择本压缩包内的test.xls文件 表名称:text//参考text表创建sql语句详单text.sql 表
字段
:mc,sl,jg,zk//参考
数据库
中
text表 需要导入的列:1,2,3,4//参考test.xls文件,A列=1,B列=2,C列=3...(一定要和表
字段
对应) CLOB表
字段
:clob//text
表
中
clob
字段
的列名,clob
字段
的插入需要单独处理 需导入的clob列:5//参考clob
字段
在
excel
中
的列 5.点击"导入"即可把你编辑好的
excel
文件导入
数据库
excel
查询
oracle
数据库
,
EXCEL
表数据导入到
ORACLE
数据库
中
将
EXCEL
表导入
ORACLE
数据库
中
一、建立表1.建立表2.查询表select*fromyy;二、导入程序在
excel
中
找到需要导入的数据2.将
excel
中
的数据另存为文本文件(有制表符分割的)3.在pl*sql
中
选择tools-->text importer,在出现的窗口
中
选择"Data from Textfile",然后再选择"Open data file",在弹出的文件选择框
中
...
Excel
表
中
数据导入到
Oracle
数据库
的两种方法
最近突然想到如果有一天工作的时候需要将
Excel
表
中
的数据放到
数据库
中
该怎么做,于是我在网上看了一些经验分享,并且亲测了一下,分享给大家,希望对以后的工作有所帮助(不知道能不能用得到,哈哈哈) 直接复制简单粗暴 1.随便写了点数据进行测试 2.打开PLSQL建表,注意要与
Excel
字段
对应,而且设计时长度也要够否则会失败 create table tests ( stuId varchar(32) not null, stuName varchar(50) not null, stuClass varch
VB
16,721
社区成员
110,526
社区内容
发帖
与我相关
我的任务
VB
VB技术相关讨论,主要为经典vb,即VB6.0
复制链接
扫一扫
分享
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章