社区
VB
帖子详情
如何将Excel表中照片字段中的照片保存到oracle数据库中
gislyc
2011-04-29 09:10:31
我现在需要将Excel表中照片字段中的照片保存到oracle数据库中,在网上找了相关的内容,结果不是很满意,不知哪位高手可以指点一下,非常感谢!
...全文
129
2
打赏
收藏
如何将Excel表中照片字段中的照片保存到oracle数据库中
我现在需要将Excel表中照片字段中的照片保存到oracle数据库中,在网上找了相关的内容,结果不是很满意,不知哪位高手可以指点一下,非常感谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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)
Oracle
表里的
照片
怎么导出来,如何导出
oracle
数据库
中
某张表到
excel
_
oracle
数据库
表格导出到
excel
...
这篇博客详细介绍了如何将
Oracle
数据库
中
的表数据导出到
Excel
,以及如何将
Excel
数据导入
Oracle
数据库
。通过VB代码示例展示了使用ADO连接
Oracle
并操作
Excel
对象的过程。同时,也提到了
Oracle
数据导出可能因
Excel
行数限制而分成多个文件的问题,以及解决方法。此外,还提供了在PL/SQL Developer
中
进行数据导入的步骤。
KETTLE将本地图片抽取到
oracle
库
本文介绍如何使用Kettle将本地图片数据抽取并存入
Oracle
数据库
。首先,准备图片、
Excel
表格(包含图片路径信息);然后,创建
数据库
中
存放图片的表。在Kettle
中
创建转换,通过
EXCEL
输入读取表格,JAVA代码组件处理图片,最后通过表输出组件写入
数据库
。执行转换成功后,可在
数据库
中
查看图片数据。
大话
数据库
视图:这货就是个“照骗“!
数据库
视图是一种虚拟表,不存储实际数据,仅
保存
查询定义。它具备实时性、逻辑封装、安全过滤和简化操作等特性。支持简单视图(单表)和复杂视图(多表连接、计算
字段
)的创建;部分视图支持通过INSERT/UPDATE/DELETE操作基表数据,但受限制条件约束(如无聚合、单基表、可更新列等)。
Oracle
中
通过CREATE VIEW、CREATE OR REPLACE VIEW及DROP VIEW管理视图。
如何摆脱
Excel
依赖症:构建健壮数据工作流的实战指南
本文聚焦企业摆脱
Excel
过度依赖的现实路径,提出‘保留
Excel
交互层、剥离核心能力至专业工具’的核心策略。系统阐述四步迁移法:痛点地图锁定场景、
Excel
兼容型流程设计、渐进式灰度上线、防反弹机制建设。详解零代码(Airtable/Notion/飞书多维表格)、低代码(Retool/Mendix)及编程方案(Python+Streamlit/Node.js)三类技术选型逻辑,并强调数据治理、权限控制、协作惯性与技术债等关键避坑点,以量化指标验证迁移价值。
Oracle
免费云认证:AI/ML与多云能力的实战跃迁路径
本文系统阐述
Oracle
Cloud Infrastructure(OCI)免费AI/ML认证的完整路径,涵盖认知重构、OCI免费沙盒搭建、AI服务实战训练(Vision/Language/Anomaly Detection/Data Flow)、权限最小化配置及职业转化策略。重点解析OCI Foundations与AI Foundations认证考试能力要求,强调零代码集成AI服务、服务编排、IAM策略配置、Always Free资源管理等核心技术实践,并提供高频故障排查技巧,如Functions 502超时、Vision图像格式错误、ADW连接超时等。
VB
16,718
社区成员
110,521
社区内容
发帖
与我相关
我的任务
VB
VB技术相关讨论,主要为经典vb,即VB6.0
复制链接
扫一扫
分享
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章