gpt4 book ai didi

mysql - 将图像保存到 mysql 数据库时出现问题。程序运行完美,没有错误

转载 作者:行者123 更新时间:2023-11-29 09:52:02 24 4
gpt4 key购买 nike

Imports MySql.Data.MySqlClient

Imports System.IO



Public Class Form1
Dim connection As New MySqlConnection("server=Localhost;userid=root;password=root;database=image")

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim opf As New OpenFileDialog
opf.Filter = "Choose Image(*.JPF;*.PNG;*.GIF)|*.jpg;*.png;*.gif"
If opf.ShowDialog = Windows.Forms.DialogResult.OK Then
PictureBox1.Image = Image.FromFile(opf.FileName)
End If
End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim command As New MySqlCommand("insert into saveimage(image) values(@img)", connection)
Dim ms As New MemoryStream
PictureBox1.Image.Save(ms, PictureBox1.Image.RawFormat)
command.Parameters.AddWithValue("@img", SqlDbType.Image).Value = ms.ToArray()
connection.Open()

MessageBox.Show("Insert image")



End Sub
End Class

最佳答案

这是错误的:

command.Parameters.AddWithValue("@img", SqlDbType.Image).Value = ms.ToArray()

您正在混合和匹配两种不同的添加参数的方式。如果您调用AddWithValue(通常不应该这样做),那么您需要提供一个值,而不是类型。如果您要指定类型,然后设置Value,则调用Add

此外,SqlDBType 适用于 SqlClient 和 SQL Server。如果您使用 MySqlClient 和 MySQL,那么您需要使用 MySqlDbType。这是为什么您需要 Option Strict On 的完美示例。

你的代码应该是这样的:

command.Parameters.Add("@img", MySqlDbType.Blob).Value = ms.ToArray()

我说“类似这样”是因为您指定的类型取决于您在数据库中使用的实际数据类型。如果您需要使用 VarBinary 那么您还应该指定一个大小。

关于mysql - 将图像保存到 mysql 数据库时出现问题。程序运行完美,没有错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54626568/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com