1 ضمیمه
مشکل در ثبت مسیر عکس در دیتابیس
سلام دوستان
من یک مشکل دارم اونم ثبت عکس در دیتابیس هست
میخوام عکسم رو تو دیتابیس ذخیره کنم و کدی که زدم اینه :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim con As New SqlConnection()
con.ConnectionString = "server=HAMED-PC;database=Hospital;Integrated security=yes"
con.Open()
Dim com As New SqlCommand()
com.Connection = con
Dim sql As String
Dim rnd As New Random
Dim temp As String
temp = rnd.Next(1, 100).ToString()
File.Copy(ImgPath, My.Application.Info.DirectoryPath & "\" & temp & ".JPG")
Dim stream As New FileStream(My.Application.Info.DirectoryPath & "\" & temp & ".JPG", FileMode.Open)
Dim reader As New BinaryReader(stream)
Dim imgByte() As Byte
imgByte = reader.ReadBytes(stream.Length)
Dim s As String
If (RadioButton1.Checked = True) Then
s = 0
ElseIf (RadioButton2.Checked = True) Then
s = 1
End If
If s = 0 Then
s = "Male"
Else
s = "Female"
End If
sql = "INSERT INTO Login(UserName,Password,Sex,picture) VALUES ('{0}','{1}','{2}',@picture)"
sql = String.Format(sql, TextBox1.Text, TextBox2.Text, s)
com.Parameters.Add("@picture", SqlDbType.VarBinary).Value = imgByte
com.CommandText = sql
com.ExecuteNonQuery()
MsgBox("SAVED")
com.CommandText = "select * From Login"
Dim da As New SqlDataAdapter(com)
Dim dt As New DataTable
da.Fill(dt)
DataGridView1.DataSource = dt
con.Close()
Dim Cnn As New SqlClient.SqlConnection
Dim Comm As New SqlClient.SqlCommand
Cnn.ConnectionString = "Server=Hamed-PC;Database=Hospital;Trusted_Connection=True;"
Cnn.Open()
Comm.Connection = Cnn
Comm.CommandType = CommandType.Text
MsgBox(ImgPath)
Dim strSQL As String
strSQL = "INSERT INTO Login(picture) VALUES ('{0}')"
strSQL = String.Format(strSQL, ImgByte)
End Sub
اما وقتی میرم تو دیتابیس میبینم اینطوری ذخیره شده (حروف چینی) :
ضمیمه 99401
حالا میخوام به یک Picturebox مسیر عکس رو بدم که نمایش بده ولی نمیشه و چیزی نمایش داده نمیشه
باید چکار کنم ؟ ممنون
نقل قول: مشکل در ثبت مسیر عکس در دیتابیس
سلام اینطوری نمیشه برنامه رو ضمیمه کن
نقل قول: مشکل در ثبت مسیر عکس در دیتابیس
نقل قول:
نوشته شده توسط
Ship Storm
حالا میخوام به یک Picturebox مسیر عکس رو بدم که نمایش بده ولی نمیشه و چیزی نمایش داده نمیشه
باید چکار کنم ؟ ممنون
[/RIGHT]
[/LEFT]
سلام
دوست عزیز در کد بالا شما خود عکس رو به بایت تبدیل کرده و در بانک ذخیره میکند و نه مسیر عکس.
در این حال شما موقع نمایش عکس باید دوباره بایت رو به Image تبدیل کنید.
نقل قول: مشکل در ثبت مسیر عکس در دیتابیس
سلام
اول چک کنید که نوع ستون Picture از نوع ( VarBinary(Max باشه
کدتون رو هم میشه کوتاه تر و بهینه تر کرد:
تو امضای من هم می تونید دو تا نمونه واسه ذخیره فایل تو دیتابیس(مخصوصا فایل های بزرگتر از یه تصویر) پیدا کنید
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Try
Dim con As New SqlConnection()
con.ConnectionString = "server=HAMED-PC;database=Hospital;Integrated security=yes"
Dim com As New SqlCommand()
com.Connection = con
Dim sql As String
Dim imgByte = IO.File.ReadAllBytes(ImgPath)
Dim s As String = If(RadioButton1.Checked, "Male", "Female")
sql = "INSERT INTO Login(UserName,Password,Sex,picture) VALUES (N'{0}',N'{1}','{2}',@picture)"
sql = String.Format(sql, TextBox1.Text, TextBox2.Text, s)
com.Parameters.AddWithValue("@picture", imgByte)
com.CommandText = sql
con.Open()
com.ExecuteNonQuery()
MsgBox("SAVED")
com.CommandText = "select * From Login"
Dim da As New SqlDataAdapter(com)
Dim dt As New DataTable
da.Fill(dt)
con.Close()
DataGridView1.DataSource = dt
Catch ex As Exception
MsgBox("Error:" & vbNewLine & ex.Message, MsgBoxStyle.Exclamation)
End Try
End Sub