منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : حفظ معلومات عن اي طالب مع صورته في قاعدة بيانات اكسس 2010
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم ورحمة الله وبركانه
ارجو المساعدة في هذا الكود

غايتي هي حفظ معلومات عن اي طالب مع صورته في قاعدة بيانات اكسس 2010...لذا قمت بتحويل الصورة الي بايتات لكن هناك مشكل
عند الظغط على زر الاضافة يعطيني هذا الخطا Erreur de syntaxe dans l'instruction INSERT INTO لكن عملية البيلد بتكون صح
ارجو الافادة
كود :
Imports System.Data
Imports System.Data.OleDb
Imports System.IO

Public Class Form1
   Dim con As New OleDbConnection
   Dim cmd As New OleDbCommand
   Dim i As Integer


   Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
       Dim str As String
       str = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=User.accdb"
       con = New OleDbConnection(str)
       con.Open()
   End Sub

   Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
       On Error Resume Next
       OpenFileDialog1.Filter = "*.jpg|*.jpg"
       OpenFileDialog1.ShowDialog()
       Dim path As String = OpenFileDialog1.FileName
       pb1.Image = Image.FromFile(path)


   End Sub

   Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
       Dim ms As New MemoryStream()
       Dim arrimage() As Byte
       If (pb1.Image IsNot Nothing) Then
           pb1.Image.Save(ms, pb1.Image.RawFormat)
           arrimage = ms.GetBuffer
           ms.Close()

       End If


       With cmd
           .Connection = con
           .CommandText = "INSERT INTO Info(Nom,sex,age,image) VALUES(@a0,@a1;@a2,@3)"
           .Parameters.Add("@a0", OleDbType.VarChar).Value = TextBox1.Text
           .Parameters.Add("@a1", OleDbType.VarChar).Value = TextBox2.Text
           .Parameters.Add("@a2", OleDbType.VarChar).Value = TextBox3.Text
           .Parameters.Add("@a3", OleDbType.Binary).Value = IIf(pb1.Image IsNot Nothing, arrimage, DBNull.Value)
           i = .ExecuteNonQuery()

           .Dispose()
con.close()
           If (i > 0) Then
               MsgBox("Save Seccess")
           End If

       End With



   End Sub
End Class
.....

راجع جملة INSERT فقد وضعت إحداها ( ; ) بدل ( , )

أيضا يستحسن وضع اسم الجدول واسم كل عمود بين أقواس مربعة [] باستثناء البارامترات التي تبدا @

أيضا شاهد هذه المشاركة بخصوص استخدام Parameters.AddWithValue بدل من Parameters.Add
حفظ قمية الـ CheckBox داخل قاعدة بيانات access

.....
الله يجازيك الخير اخي ...شكرا شكرا شكرا
تم الحل على افضل اجابة
مرحبا ممكن أخي تعيد توضع الحل الصحيح الذي توصلت إليه
وماهي خاصية الحقل الذي تحفظ فيه الصورة
شكرا لك