02-03-20, 10:10 PM
(02-03-20, 09:58 PM)alsalamoni كتب :(02-03-20, 09:35 PM)mazentq كتب :(02-03-20, 01:16 AM)alsalamoni كتب :(01-03-20, 08:23 PM)mazentq كتب : السلام عليكم ورحمة الله وبركاته
عندي مشكلة لما اجي اضيف صورة في قاعدة البيانات كل البيانات بتضاف الا الصورة مش بتتخزن في قاعدة البيانات
وده كود ال insert
كود :
Dim cmd As New OleDbCommand(str, con)
'فتح الاتصال بمزود البيانات وهى قاعده البيانات
Dim connectionstring As String = "provider=microsoft.jet.oledb.4.0;data source=" & Application.StartupPath & "\MSME.mdb;user id=admin;jet oledb:database password=343282"
Dim newconnection As New OleDbConnection(connectionstring)
cmd.Connection = newconnection
cmd.CommandType = CommandType.Text
'اضافه المعلومات التى تكتبها الى الجدول كل سجل تكتبه بما يماثله فى الجدول
cmd.CommandText = "insert into DBET ([pName],[Email],[Phone],[ProjectName],[ProjectType],[About],[Photo]) values ('" & _
nameadd.Text & "','" & emailadd.Text & "','" & phoneadd.Text & _
"','" & pnameadd.Text & "','" & ptypeadd.Text & "','" & aboutadd.Text & "','" & photoadd.ImageLocation & "') "
'فتح الاتصال وتاكيد الاضافه وبعد ذلك اغلاق الاتصال
newconnection.Open()
cmd.ExecuteNonQuery()
newconnection.Close()
وعايز لما اعمل تعديل الصورة تتسحب مع البيانات للتعديل علشان لو هغيرها
وده كودجلب البيانات للتعديل
كود :
If (DataGridView1.SelectedRows.Count = 0) Then
MessageBox.Show("يجب تحديد البيانات المراد تعديلها اولا", "خطأ", MessageBoxButtons.OK, MessageBoxIcon.Error)
Return
End If
'كود جلب البيانات
Dim indx As Integer = DataGridView1.SelectedRows(0).Index
nameed.Text = DataGridView1(1, indx).Value.ToString()
phoned.Text = DataGridView1(2, indx).Value.ToString()
emailed.Text = DataGridView1(3, indx).Value.ToString()
pnameed.Text = DataGridView1(4, indx).Value.ToString()
ptypeed.Text = DataGridView1(5, indx).Value.ToString()
abouted.Text = DataGridView1(6, indx).Value.ToString()
photoed.ImageLocation = DataGridView1(6, indx).Value.ToString()
وده كود حفظ التعديل
ودي صورة لواجهة البرنامج للادخال والتعديلكود :
If (String.IsNullOrEmpty(nameed.Text)) Then
MessageBox.Show("يجب ادخال اسم الصنف قبل الحفظ", "خطأ", MessageBoxButtons.OK, MessageBoxIcon.Error)
Return
End If
Dim id As Integer = CInt(DataGridView1(0, DataGridView1.SelectedRows(0).Index).Value.ToString())
Dim str As String = String.Format("update DBET set pName='{0}', Email='{1}', Phone='{2}', ProjectName='{3}', ProjectType='{4}', About='{5}', Photo='{6}' where ID ={7}", nameed.Text, phoned.Text, emailed.Text, pnameed.Text, ptypeed.Text, abouted.Text, photoed.ImageLocation, id)
Dim cmd As New OleDbCommand(str, con)
con.Open()
cmd.ExecuteNonQuery()
con.Close()
MessageBox.Show("تم حفظ التعديل بنجاح")
LoadDataToDGV()
![]()
ودي التعديل
![]()
وشكرا
غير السطر الخاص بالبحث عن الصورة من
كود :
photoadd.image=image.fromfile(openfiledialog1.filename)
الى
كود :
photoadd.imagelocation=openfiledialog1.filename
الف شكر الطريقة اشتغلت تمام في ادارج الصورة لقاعدة البيانات بس لو عاوز اعمل جلب للبيانات والصورة في البرنامج علشان لو هعدل فيهم مش راضي
عندك خطا في رقم العمود 6 في السطر
كود :
photoed.ImageLocation = DataGridView1(6, indx).Value.ToString()
اتوقع المفروض يكون رقم 7 على اساس العمود موجود ولكن مخفي فيكون
كود :
photoed.ImageLocation = DataGridView1(7, indx).Value.ToString()
عملتها 7 بس لما اجي اعمل عرض للبيانات قبل ما اعملها تعديل بتجي الرسالة دي
ولما اجي احدد البيانات الي في الدتا جريد فيو الي عاوز اجلبها في التكست بوكس علشان اعدل عليها بيجبها كلها ماعدا الصورة
