11-01-24, 09:09 PM (آخر تعديل لهذه المشاركة : 11-01-24, 09:11 PM {2} بواسطة مبرمج صغير 1.)
السلام عليكم ورحمة الله وبركاته
صراحة مازلت اتنقل في المواقع واليوتيوب لاجد حل لاضافه الصور واستدعائها من قاعدة بيانات اكسس 2007
انا عندي هذا الكود لحفظ بيانات عاديه كالاسم والجوال وغيرها
ولدي خانه للصورة
جميع البيانات يتم اضافتها وحفظها الا الصور
عملت لها زر استعراض
هذا الكود اللي عندي للحفظ
كود :
Try
If connAccess999.State = ConnectionState.Closed Then connAccess999.Open()
Dim cmmd As New OleDbCommand("SELECT COUNT([id_mr]) FROM [tan] WHERE [id_mr]=? ", connAccess999)
cmmd.Parameters.AddWithValue("@", Val(id_mr.Text))
If cmmd.ExecuteScalar > 0 Then
MsgBox("رقم الهوية مضاف مسبقا!", MsgBoxStyle.Exclamation, "تنبية!")
Return
End If
time_mr.Text = Format(Date.Today, "yyyy/MM/dd")
sad_mr.Text = TimeOfDay
Dim cmdinsert As New OleDbCommand("insert into tan (name_mr, id_mr,jn_mr,num_mr,jeh_mr,time_mr,sad_mr,pic_mr ) values ('" & name_mr.Text & "','" & id_mr.Text & "','" & jn_mr.Text & "','" & num_mr.Text & "','" & jeh_mr.Text & "','" & time_mr.Text & "','" & sad_mr.Text & "','" & pic_mr.Text & "')")
cmdinsert.Connection = connAccess999
cmdinsert.ExecuteNonQuery()
MsgBox("تم حفظ البيانات بنجاح")
name_mr.Clear()
id_mr.Clear()
jn_mr.Clear()
num_mr.Clear()
jeh_mr.Clear()
time_mr.Clear()
sad_mr.Clear()
Catch ex As Exception
MsgBox(ex.Message.ToString)
End Try
بالنسبة للحفظ اريده ان يحفظها مره وحده مع حفظ البيانات كالاسم ورقم الهوية
ووجدت مشروع لاحد الاخوة فيه الأكواد الاستعراض والحفظ والاستدعاء
ولكن لم اقدر ادمجهم مع الكود الخاص فيني كالحفظ مع البيانات
طبعا هذي هي شاشة اخونا الحبيب بقاعدة بيانات مستقله عن قاعدتي ولكن دمجتها في برنامجي لأطرحه لكم
وهذا هو الكود الخاص به
كود :
Imports System.Data.OleDb
Imports System.IO
Public Class Form2
Public conn As New OleDbConnection("provider=Microsoft.Ace.OLEDB.12.0;" & "data source=" & Application.StartupPath & "\DB.accdb")
Public da As New OleDbDataAdapter
Public dt As New DataTable
Private Sub Browse_Btn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Browse_Btn.Click
OpenFileDialog1.Filter = "Image Formats (*.PNG; *.JPG; *.BMP) | *.PNG; *.JPG; *.BMP | All Files (*.*) | *.*"
'Dim OpenFileDialog1 As New OpenFileDialog
With OpenFileDialog1
If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.Cancel Then
MsgBox("image is not choised")
Return
Else
PictureBox1.Image = Image.FromFile(.FileName)
End If
End With
End Sub
Private Sub Save_Btn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Save_Btn.Click
Dim arrImage() As Byte
Dim NmImage As String
Dim myMs As New IO.MemoryStream
If Not IsNothing(PictureBox1.Image) Then
PictureBox1.Image.Save(myMs, PictureBox1.Image.RawFormat)
arrImage = myMs.GetBuffer
NmImage = "?"
Else
arrImage = Nothing
NmImage = "NULL"
End If
conn.Open()
Dim cmd As New OleDbCommand
cmd.Connection = conn
End If
cmd.ExecuteNonQuery()
conn.Close()
MsgBox("Data Has Been Added")
End Sub
Private Sub Display_Btn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Display_Btn.Click
PictureBox1.Image = Nothing
If txtName.Text = "" Then
MsgBox("Fill Name Field")
Return
End If
Dim conn As New OleDbConnection
conn.ConnectionString = "provider=Microsoft.Ace.OLEDB.12.0;" & "data source=" & Application.StartupPath & "\DB.accdb"
Dim ArrImage() As Byte
Dim MS As New IO.MemoryStream
Dim da As New OleDbDataAdapter("select * FROM IMG WHERE Name1 ='" & txtName.Text & "'", conn)
Dim dt As New DataTable
da.Fill(dt)
If dt.Rows.Count > 0 Then
Label1.Text = dt.Rows(0).Item("Name1")
txtName.Text = dt.Rows(0).Item("Name1")
If Not IsDBNull(dt.Rows(0).Item("Image1")) Then
ArrImage = dt.Rows(0).Item("Image1")
For Each a As Byte In ArrImage
MS.WriteByte(a)
Next
PictureBox1.Image = System.Drawing.Image.FromStream(MS)
End If
Else
MsgBox("No Match Found")
End If
conn.Close()
End Sub
Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub
End Class
المطلوب
ان يتم اضافه الصورة بكود واحد وهو كود حفظ البيانات اللي عندي انا
صراحة مازلت اتنقل في المواقع واليوتيوب لاجد حل لاضافه الصور واستدعائها من قاعدة بيانات اكسس 2007
انا عندي هذا الكود لحفظ بيانات عاديه كالاسم والجوال وغيرها
ولدي خانه للصورة
جميع البيانات يتم اضافتها وحفظها الا الصور
عملت لها زر استعراض
هذا الكود اللي عندي للحفظ
كود :
Try
If connAccess999.State = ConnectionState.Closed Then connAccess999.Open()
Dim cmmd As New OleDbCommand("SELECT COUNT([id_mr]) FROM [tan] WHERE [id_mr]=? ", connAccess999)
cmmd.Parameters.AddWithValue("@", Val(id_mr.Text))
If cmmd.ExecuteScalar > 0 Then
MsgBox("رقم الهوية مضاف مسبقا!", MsgBoxStyle.Exclamation, "تنبية!")
Return
End If
time_mr.Text = Format(Date.Today, "yyyy/MM/dd")
sad_mr.Text = TimeOfDay
Dim cmdinsert As New OleDbCommand("insert into tan (name_mr, id_mr,jn_mr,num_mr,jeh_mr,time_mr,sad_mr,pic_mr ) values ('" & name_mr.Text & "','" & id_mr.Text & "','" & jn_mr.Text & "','" & num_mr.Text & "','" & jeh_mr.Text & "','" & time_mr.Text & "','" & sad_mr.Text & "','" & pic_mr.Text & "')")
cmdinsert.Connection = connAccess999
cmdinsert.ExecuteNonQuery()
MsgBox("تم حفظ البيانات بنجاح")
name_mr.Clear()
id_mr.Clear()
jn_mr.Clear()
num_mr.Clear()
jeh_mr.Clear()
time_mr.Clear()
sad_mr.Clear()
Catch ex As Exception
MsgBox(ex.Message.ToString)
End Try
بالنسبة للحفظ اريده ان يحفظها مره وحده مع حفظ البيانات كالاسم ورقم الهوية
ووجدت مشروع لاحد الاخوة فيه الأكواد الاستعراض والحفظ والاستدعاء
ولكن لم اقدر ادمجهم مع الكود الخاص فيني كالحفظ مع البيانات
طبعا هذي هي شاشة اخونا الحبيب بقاعدة بيانات مستقله عن قاعدتي ولكن دمجتها في برنامجي لأطرحه لكم
وهذا هو الكود الخاص به
كود :
Imports System.Data.OleDb
Imports System.IO
Public Class Form2
Public conn As New OleDbConnection("provider=Microsoft.Ace.OLEDB.12.0;" & "data source=" & Application.StartupPath & "\DB.accdb")
Public da As New OleDbDataAdapter
Public dt As New DataTable
Private Sub Browse_Btn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Browse_Btn.Click
OpenFileDialog1.Filter = "Image Formats (*.PNG; *.JPG; *.BMP) | *.PNG; *.JPG; *.BMP | All Files (*.*) | *.*"
'Dim OpenFileDialog1 As New OpenFileDialog
With OpenFileDialog1
If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.Cancel Then
MsgBox("image is not choised")
Return
Else
PictureBox1.Image = Image.FromFile(.FileName)
End If
End With
End Sub
Private Sub Save_Btn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Save_Btn.Click
Dim arrImage() As Byte
Dim NmImage As String
Dim myMs As New IO.MemoryStream
If Not IsNothing(PictureBox1.Image) Then
PictureBox1.Image.Save(myMs, PictureBox1.Image.RawFormat)
arrImage = myMs.GetBuffer
NmImage = "?"
Else
arrImage = Nothing
NmImage = "NULL"
End If
conn.Open()
Dim cmd As New OleDbCommand
cmd.Connection = conn
End If
cmd.ExecuteNonQuery()
conn.Close()
MsgBox("Data Has Been Added")
End Sub
Private Sub Display_Btn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Display_Btn.Click
PictureBox1.Image = Nothing
If txtName.Text = "" Then
MsgBox("Fill Name Field")
Return
End If
Dim conn As New OleDbConnection
conn.ConnectionString = "provider=Microsoft.Ace.OLEDB.12.0;" & "data source=" & Application.StartupPath & "\DB.accdb"
Dim ArrImage() As Byte
Dim MS As New IO.MemoryStream
Dim da As New OleDbDataAdapter("select * FROM IMG WHERE Name1 ='" & txtName.Text & "'", conn)
Dim dt As New DataTable
da.Fill(dt)
If dt.Rows.Count > 0 Then
Label1.Text = dt.Rows(0).Item("Name1")
txtName.Text = dt.Rows(0).Item("Name1")
If Not IsDBNull(dt.Rows(0).Item("Image1")) Then
ArrImage = dt.Rows(0).Item("Image1")
For Each a As Byte In ArrImage
MS.WriteByte(a)
Next
PictureBox1.Image = System.Drawing.Image.FromStream(MS)
End If
Else
MsgBox("No Match Found")
End If
conn.Close()
End Sub
Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub
End Class
المطلوب
ان يتم اضافه الصورة بكود واحد وهو كود حفظ البيانات اللي عندي انا
وعليكم السلام و رحمة الله و بركاته
جرب هذا الكود
PHP كود :
Private Sub Save_Btn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Save_Btn.Click Try conn.Open()
Dim cmd As New OleDbCommand cmd.Connection = conn
If Not IsNothing(PictureBox1.Image) Then Dim arrImage() As Byte Dim NmImage As String = "?"
Using ms As New MemoryStream PictureBox1.Image.Save(ms, PictureBox1.Image.RawFormat) arrImage = ms.GetBuffer() End Using
cmd.CommandText = "INSERT INTO IMG([Name1], Image1) VALUES(@Name1, @Image1)" cmd.Parameters.AddWithValue("@Name1", txtName.Text) cmd.Parameters.AddWithValue("@Image1", arrImage) Else cmd.CommandText = "INSERT INTO IMG([Name1], Image1) VALUES(@Name1, NULL)" cmd.Parameters.AddWithValue("@Name1", txtName.Text) End If
cmd.ExecuteNonQuery() MsgBox("Data Has Been Added") Catch ex As Exception MsgBox("Error: " & ex.Message) Finally conn.Close() End Try End Sub
12-01-24, 03:04 PM (آخر تعديل لهذه المشاركة : 12-01-24, 10:58 PM {2} بواسطة مبرمج صغير 1.)
(11-01-24, 11:41 PM)Kamil كتب :
(11-01-24, 09:09 PM)مبرمج صغير 1 كتب :
السلام عليكم ورحمة الله وبركاته
صراحة مازلت اتنقل في المواقع واليوتيوب لاجد حل لاضافه الصور واستدعائها من قاعدة بيانات اكسس 2007
انا عندي هذا الكود لحفظ بيانات عاديه كالاسم والجوال وغيرها
ولدي خانه للصورة
جميع البيانات يتم اضافتها وحفظها الا الصور
عملت لها زر استعراض
هذا الكود اللي عندي للحفظ
كود :
Try
If connAccess999.State = ConnectionState.Closed Then connAccess999.Open()
Dim cmmd As New OleDbCommand("SELECT COUNT([id_mr]) FROM [tan] WHERE [id_mr]=? ", connAccess999)
cmmd.Parameters.AddWithValue("@", Val(id_mr.Text))
If cmmd.ExecuteScalar > 0 Then
MsgBox("رقم الهوية مضاف مسبقا!", MsgBoxStyle.Exclamation, "تنبية!")
Return
End If
time_mr.Text = Format(Date.Today, "yyyy/MM/dd")
sad_mr.Text = TimeOfDay
Dim cmdinsert As New OleDbCommand("insert into tan (name_mr, id_mr,jn_mr,num_mr,jeh_mr,time_mr,sad_mr,pic_mr ) values ('" & name_mr.Text & "','" & id_mr.Text & "','" & jn_mr.Text & "','" & num_mr.Text & "','" & jeh_mr.Text & "','" & time_mr.Text & "','" & sad_mr.Text & "','" & pic_mr.Text & "')")
cmdinsert.Connection = connAccess999
cmdinsert.ExecuteNonQuery()
MsgBox("تم حفظ البيانات بنجاح")
name_mr.Clear()
id_mr.Clear()
jn_mr.Clear()
num_mr.Clear()
jeh_mr.Clear()
time_mr.Clear()
sad_mr.Clear()
Catch ex As Exception
MsgBox(ex.Message.ToString)
End Try
بالنسبة للحفظ اريده ان يحفظها مره وحده مع حفظ البيانات كالاسم ورقم الهوية
ووجدت مشروع لاحد الاخوة فيه الأكواد الاستعراض والحفظ والاستدعاء
ولكن لم اقدر ادمجهم مع الكود الخاص فيني كالحفظ مع البيانات
طبعا هذي هي شاشة اخونا الحبيب بقاعدة بيانات مستقله عن قاعدتي ولكن دمجتها في برنامجي لأطرحه لكم
وهذا هو الكود الخاص به
كود :
Imports System.Data.OleDb
Imports System.IO
Public Class Form2
Public conn As New OleDbConnection("provider=Microsoft.Ace.OLEDB.12.0;" & "data source=" & Application.StartupPath & "\DB.accdb")
Public da As New OleDbDataAdapter
Public dt As New DataTable
Private Sub Browse_Btn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Browse_Btn.Click
OpenFileDialog1.Filter = "Image Formats (*.PNG; *.JPG; *.BMP) | *.PNG; *.JPG; *.BMP | All Files (*.*) | *.*"
'Dim OpenFileDialog1 As New OpenFileDialog
With OpenFileDialog1
If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.Cancel Then
MsgBox("image is not choised")
Return
Else
PictureBox1.Image = Image.FromFile(.FileName)
End If
End With
End Sub
Private Sub Save_Btn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Save_Btn.Click
Dim arrImage() As Byte
Dim NmImage As String
Dim myMs As New IO.MemoryStream
If Not IsNothing(PictureBox1.Image) Then
PictureBox1.Image.Save(myMs, PictureBox1.Image.RawFormat)
arrImage = myMs.GetBuffer
NmImage = "?"
Else
arrImage = Nothing
NmImage = "NULL"
End If
conn.Open()
Dim cmd As New OleDbCommand
cmd.Connection = conn
End If
cmd.ExecuteNonQuery()
conn.Close()
MsgBox("Data Has Been Added")
End Sub
Private Sub Display_Btn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Display_Btn.Click
PictureBox1.Image = Nothing
If txtName.Text = "" Then
MsgBox("Fill Name Field")
Return
End If
Dim conn As New OleDbConnection
conn.ConnectionString = "provider=Microsoft.Ace.OLEDB.12.0;" & "data source=" & Application.StartupPath & "\DB.accdb"
Dim ArrImage() As Byte
Dim MS As New IO.MemoryStream
Dim da As New OleDbDataAdapter("select * FROM IMG WHERE Name1 ='" & txtName.Text & "'", conn)
Dim dt As New DataTable
da.Fill(dt)
If dt.Rows.Count > 0 Then
Label1.Text = dt.Rows(0).Item("Name1")
txtName.Text = dt.Rows(0).Item("Name1")
If Not IsDBNull(dt.Rows(0).Item("Image1")) Then
ArrImage = dt.Rows(0).Item("Image1")
For Each a As Byte In ArrImage
MS.WriteByte(a)
Next
PictureBox1.Image = System.Drawing.Image.FromStream(MS)
End If
Else
MsgBox("No Match Found")
End If
conn.Close()
End Sub
Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub
End Class
المطلوب
ان يتم اضافه الصورة بكود واحد وهو كود حفظ البيانات اللي عندي انا
وعليكم السلام و رحمة الله و بركاته
جرب هذا الكود
PHP كود :
Private Sub Save_Btn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Save_Btn.Click Try conn.Open()
Dim cmd As New OleDbCommand cmd.Connection = conn
If Not IsNothing(PictureBox1.Image) Then Dim arrImage() As Byte Dim NmImage As String = "?"
Using ms As New MemoryStream PictureBox1.Image.Save(ms, PictureBox1.Image.RawFormat) arrImage = ms.GetBuffer() End Using
cmd.CommandText = "INSERT INTO IMG([Name1], Image1) VALUES(@Name1, @Image1)" cmd.Parameters.AddWithValue("@Name1", txtName.Text) cmd.Parameters.AddWithValue("@Image1", arrImage) Else cmd.CommandText = "INSERT INTO IMG([Name1], Image1) VALUES(@Name1, NULL)" cmd.Parameters.AddWithValue("@Name1", txtName.Text) End If
cmd.ExecuteNonQuery() MsgBox("Data Has Been Added") Catch ex As Exception MsgBox("Error: " & ex.Message) Finally conn.Close() End Try End Sub
شكرا لمرورك الغالي تم استخدام هذا الكود ونجح
كود :
Try
If connAccess999.State = ConnectionState.Closed Then connAccess999.Open()
Dim cmmd As New OleDbCommand("SELECT COUNT([id_mr]) FROM [tan] WHERE [id_mr]=? ", connAccess999)
cmmd.Parameters.AddWithValue("@", Val(id_mr.Text))
If cmmd.ExecuteScalar > 0 Then
MsgBox("رقم الهوية مضاف مسبقا!", MsgBoxStyle.Exclamation, "تنبية!")
Return
End If
Dim arrImage() As Byte
Dim myMs As New IO.MemoryStream
If Not IsNothing(pic_mr.Image) Then
pic_mr.Image.Save(myMs, pic_mr.Image.RawFormat)
arrImage = myMs.GetBuffer
Else
arrImage = Nothing
End If
time_mr.Text = Format(Date.Today, "yyyy/MM/dd")
sad_mr.Text = TimeOfDay
Dim cmdinsert As New OleDbCommand("insert into tan (name_mr, id_mr,jn_mr,num_mr,jeh_mr,time_mr,sad_mr,pic_mr) values (?,?,?,?,?,?,?,?)")
cmdinsert.Parameters.AddWithValue("@", name_mr.Text)
cmdinsert.Parameters.AddWithValue("@", Val(id_mr.Text))
cmdinsert.Parameters.AddWithValue("@", jn_mr.Text)
cmdinsert.Parameters.AddWithValue("@", num_mr.Text)
cmdinsert.Parameters.AddWithValue("@", jeh_mr.Text)
cmdinsert.Parameters.AddWithValue("@", time_mr.Text)
cmdinsert.Parameters.AddWithValue("@", sad_mr.Text)
cmdinsert.Parameters.AddWithValue("@", arrImage)
cmdinsert.Connection = connAccess999
cmdinsert.ExecuteNonQuery()
MsgBox("تم حفظ البيانات بنجاح")
name_mr.Clear()
id_mr.Clear()
jn_mr.Clear()
num_mr.Clear()
jeh_mr.Clear()
time_mr.Clear()
sad_mr.Clear()
pic_mr.Image = Nothing
Catch ex As Exception
MsgBox(ex.Message.ToString)
End Try