怎样在vb.net中把PictureBox1图片框的图片插入到SQL2000数据库中?

starxie_39 2006-06-14 08:36:52
我是刚接触在vb.net中把PictureBox1图片框的图片插入到SQL2000 数据库中。所以很陌生!希望各位大哥、大姐帮我看一下下面的的代码。谢谢了!
Dim cmd As New SqlCommand
cmd.CommandText = "YP_Insert"
cmd.Parameters.Add("@num", SqlDbType.NVarChar).Value = Me.txtNum.Text.Trim
cmd.Parameters.Add("@name", SqlDbType.NVarChar).Value = Me.txtName.Text.Trim
cmd.Parameters.Add("@sex", SqlDbType.Char).Value = Me.cboxSex.Text.Trim
cmd.Parameters.Add("@nation", SqlDbType.NVarChar).Value = Me.cboxNation.Text.Trim
cmd.Parameters.Add("@birth", SqlDbType.DateTime).Value = Me.dtpBirth.Text.Trim
cmd.Parameters.Add("@xueli", SqlDbType.NVarChar).Value = Me.txtXueli.Text.Trim
cmd.Parameters.Add("@degree ", SqlDbType.NVarChar).Value = Me.txtDegree.Text.Trim
cmd.Parameters.Add("@special", SqlDbType.NVarChar).Value = Me.txtSpecial.Text.Trim
cmd.Parameters.Add("@school", SqlDbType.NVarChar).Value = Me.txtSchool.Text.Trim
cmd.Parameters.Add("@date", SqlDbType.DateTime).Value = Me.dtpDate.Text.Trim
cmd.Parameters.Add("@zhiwu", SqlDbType.NVarChar).Value = Me.txtZhiwu.Text.Trim
cmd.Parameters.Add("@type", SqlDbType.NVarChar).Value = Me.txtType.Text.Trim
cmd.Parameters.Add("@phone", SqlDbType.NVarChar).Value = Me.txtPhone.Text.Trim
cmd.Parameters.Add("@identity", SqlDbType.NVarChar).Value = Me.txtIdentity.Text.Trim
cmd.Parameters.Add("@address", SqlDbType.NText).Value = Me.txtAddress.Text.Trim
cmd.Parameters.Add("@studyresume", SqlDbType.NText).Value = Me.txtStudyresume.Text.Tri   cmd.Parameters.Add("@workresume", SqlDbType.NText).Value = Me.txtWorkResume.Text.Trim
cmd.Parameters.Add("@mainresume", SqlDbType.NText).Value = Me.txtMainResume.Text.Trim

'问在此得到PictureBox1的图片??
cmd.Parameters.Add("@photo", SqlDbType.Image).Value = Me.PictureBox1.Image

If sql.SP_SQLCommand(cmd) > 0 Then
MsgBox("数据保存成功!", MessageBoxButtons.OK + MessageBoxIcon.Exclamation, "提示!")

Else
MsgBox("数据保存不成功!", MessageBoxButtons.OK + MessageBoxIcon.Exclamation, "提示!")
  End If
End If



'这是得到图片的来源
'我想法是在此处得到图片的来源,并把它赋值到上面的存储过程变量" cmd.Parameters.Add("@photo", SqlDbType.Binary).Value = Me.pboxPhoto.Image"

Private Sub pboxPhoto_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles pboxPhoto.Click
PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage
Me.OpenFileDialog1.Title = "打开"
OpenFileDialog1.Filter = "图片文件(*.jpg)|*.jpg|图片文件(*.bmp)|*.bmp|图片文件(*.gif)|*.gif"
If OpenFileDialog1.ShowDialog = DialogResult.OK Then
If OpenFileDialog1.FileName <> "" Then
PictureBox1.Image = Image.FromFile(Me.OpenFileDialog1.FileName)
Else
Exit Sub
End If
End If
End Sub
...全文
282 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
boblaile 2006-11-15
  • 打赏
  • 举报
回复
支持ing
Eddie005 2006-06-15
  • 打赏
  • 举报
回复
你需要将 Me.PictureBox1.Image转换成byte()才可以作为参数传入,方法这里有:
http://dotnet.aspx.cc/ShowDetail.aspx?id=J9UBRVER-L3VB-49M3-GOU1-Z6C2PVR6FZ3K
amandag 2006-06-15
  • 打赏
  • 举报
回复
参见孟子E章的Blog有详细解决方案
http://dotnet.aspx.cc/ShowDetail.aspx?id=J9UBRVER-L3VB-49M3-GOU1-Z6C2PVR6FZ3K
amandag 2006-06-15
  • 打赏
  • 举报
回复
需要先把Image转换为字节数据,以缓冲的方式写入数据库
bitpolar 2006-06-14
  • 打赏
  • 举报
回复
Dim imgFile As New Bitmap(Me.PictureBox1.Image)
Dim mstream As MemoryStream
imgFile.Save(mstream, Imaging.ImageFormat.Jpeg) '假设JPG文件
Dim farray() As Byte
ReDim farray(mstream.Length)
mstream.Read(farray, 0, farray.Length)
mstream.Close()

Dim fc As SqlClient.SqlParameter = cmd.Parameters.Add("@Photo", farray)
fc.SqlDbType = SqlDbType.Image

//没测试环境 现写的 大致就这个思路

16,721

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧