28-03-18, 03:43 AM
الاخ الكريم عبد العزيز البسكري,
من خلال الكود لديك , ضع هذه الدوال في النموذج لديك
بعد ذلك استدعي الدالة AddDataWithImage في زر الحفظ لديك
المخرجات القادمة من الدلة منطقية في حال كان True يعني تم الحفظ.
استخدمها كما يناسبك.
انا لم اطلع على القاعدة لديك و لم اجرب فقط عدلت لك في الكود.
جربه لديك و اخبرنا بالنتيجة.
ملاحظة :استخدم البارمترات بدل عناصر الادخال لتتحاشى مشكل Sql Injection , و هي الطريقة المتبعة و الموصى بها.
مرفق مثال لطريقة الادخال الى قاعدة اكسس (مثال طلبه الاخ ابو وسم في احد المشاركات و لم يسعفني الوقت للتعديل عليه)
المثال يحتوي على نفس الفكرة مع طريقة العرض و التنقل بين السجلات وعرض الصورة الموافقة للسجل.
تحياتي.
من خلال الكود لديك , ضع هذه الدوال في النموذج لديك
PHP كود :
Public Function FileImageBytes() As Byte()
Dim ImageByte As Byte() = New Byte() {}
If PictureBox1.Image Is Nothing Then
'فعل السطر التالي في حال احببت ان تخزن صور فارغة
'ImageByte = New Byte() {}
PictureBox1.Image = My.Resources.Nopicture
Else
Dim Ms As IO.MemoryStream = New IO.MemoryStream
PictureBox1.Image.Save(Ms, PictureBox1.Image.RawFormat)
ImageByte = Ms.ToArray
End If
Return ImageByte
End Function
Public Function AddDataWithImage() As Boolean
Using cmd As New SqlCommand With {.Connection = CON}
cmd.CommandText =
<SQL>
INSERT INTO STUDENT
(
ID,
FirstName,
LastName,
BirthDate,
Mobile,
Adresse,
Carte
)
Values
(
@ID,
@FirstName,
@LastName,
@BirthDate,
@Mobile,
@Adresse,
@Carte
)
</SQL>.Value
cmd.Parameters.AddRange(
New SqlParameter() _
{
New SqlParameter With {.ParameterName = "@ID", .DbType = DbType.Int32, .Value = TextBox1.Text.Trim},
New SqlParameter With {.ParameterName = "@FirstName", .DbType = DbType.String, .Value = TextBox2.Text.Trim},
New SqlParameter With {.ParameterName = "@LastName", .DbType = DbType.String, .Value = TextBox3.Text.Trim},
New SqlParameter With {.ParameterName = "@BirthDate", .DbType = DbType.Date, .Value = DateTimePicker1.Value.Date},
New SqlParameter With {.ParameterName = "@Mobile", .DbType = DbType.String, .Value = TextBox5.Text.Trim},
New SqlParameter With {.ParameterName = "@Adresse", .DbType = DbType.String, .Value = TextBox6.Text.Trim},
New SqlParameter With {.ParameterName = "@Carte", .SqlDbType = SqlDbType.Image, .Value = FileImageBytes()}
}
)
Try
Dim Affected As Int32 = cmd.ExecuteNonQuery
If Affected = 1 Then
'هذا يعني نجاح العملية
Return True
Else
Return False
End If
Catch ex As Exception
Return False
End Try
End Using
End Function
بعد ذلك استدعي الدالة AddDataWithImage في زر الحفظ لديك
المخرجات القادمة من الدلة منطقية في حال كان True يعني تم الحفظ.
استخدمها كما يناسبك.
انا لم اطلع على القاعدة لديك و لم اجرب فقط عدلت لك في الكود.
جربه لديك و اخبرنا بالنتيجة.
ملاحظة :استخدم البارمترات بدل عناصر الادخال لتتحاشى مشكل Sql Injection , و هي الطريقة المتبعة و الموصى بها.
مرفق مثال لطريقة الادخال الى قاعدة اكسس (مثال طلبه الاخ ابو وسم في احد المشاركات و لم يسعفني الوقت للتعديل عليه)
المثال يحتوي على نفس الفكرة مع طريقة العرض و التنقل بين السجلات وعرض الصورة الموافقة للسجل.
تحياتي.
اللهم لك الحمد كما ينبغي لجلال وجهك و عظيم سلطانك
في حل و ترحال


