الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ما الخطأ فى كود الحفظ هذا

مغلق
بدأه fady vb في 6 يونيو 2007 · 7 رد · 1,081 مشاهدة · في ADO.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

فى البداية أحب ان أقول اننى مازالت فى بداية تعلمى لـ ado.net

فأرجو منكم المساعدة

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

An unhandled exception of type 'System.Data.OleDb.OleDbException' occurred in system.data.dll

كود الحفظ:

Dim f1, f2, f3 As String
		f1 = "'" & TextBox1.Text & "',"
		f2 = "'" & TextBox2.Text & "',"
		f3 = "'" & TextBox3.Text & "',"
		Dim s As String
		s = "inser into cust"
		s = s & "(id,name,tel) values"
		s = s & "(" & f1 & f2 & f3 & ")"
		cmd.CommandText = s
		h = cmd.ExecuteNonQuery()

تم تعديل هذه المشاركة بواسطة محمد سامر أبو سلو في 6 يونيو 2007 في 13:03

#2

السلام عليكم

فى البداية أحب ان أقول اننى مازالت فى بداية تعلمى لـ ado.net

فأرجو منكم المساعدة

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

An unhandled exception of type 'System.Data.OleDb.OleDbException' occurred in system.data.dll

Dim f1, f2, f3 As String

f1 = "'" & TextBox1.Text & "',"

f2 = "'" & TextBox2.Text & "',"

f3 = "'" & TextBox3.Text & "',"

Dim s As String

s = "inser into cust"

s = s & "(id,name,tel) values"

s = s & "(" & f1 & f2 & f3 & ")"

cmd.CommandText = s

h = cmd.ExecuteNonQuery()

أرجو المساعدة وشكراً

#3

حرف الـ t غير موجود فى آخر كلمة insert

اقتباس
s = "inser into cust"

bartkr7.png
#4

ممكن يا أخي تستعمل Parameter كالأتي ..

cmd.CommandText = " Insert Into cust Values(?,?,?) "

com.Parameters.AddWithValue("?",TextBox1.Text)
com.Parameters.AddWithValue("?",TextBox2.Text)
com.Parameters.AddWithValue("?",TextBox3.Text)

com.ExecuteNonQuery()

أرجو أن يساعدك هدا .. بالتوفيق

مقالاتي في VB.NET وبرامجي على موقعي الجديد :

#5

أولا أحب ان اشكركم على تعاونكم

صلحت جملة insert ولكن ظهرلى الخطأ مرة أخرى

والرسالة هى :


ورسالة الخطأ تشير الى تلك الجملة:
An unhandled exception of type 'System.Data.OleDb.OleDbException' occurred in system.data.dll

h = cmd.ExecuteNonQuery()

الكود:

Dim f1, f2, f3 As String

f1 = "'" & TextBox1.Text & "',"

f2 = "'" & TextBox2.Text & "',"

f3 = "'" & TextBox3.Text & "',"

Dim s As String

s = "insert into cust"

s = s & "(id,name,tel) values"

s = s & "(" & f1 & f2 & f3 & ")"

Dim h As Integer

cmd.CommandText = s

h = cmd.ExecuteNonQuery()

MsgBox(h & "record saved

أرجو المساعدة :(

#6

شوف لو استخدمت خصائص المنتدى بالطريقة الصحيحة كيف راح يطلع الكود

Dim f1, f2, f3 As String
f1 = "'" & TextBox1.Text & "',"
f2 = "'" & TextBox2.Text & "',"
f3 = "'" & TextBox3.Text & "',"
Dim s As String
s = "insert into cust"
s = s & "(id,name,tel) values"
s = s & "(" & f1 & f2 & f3 & ")"
Dim h As Integer
cmd.CommandText = s
h = cmd.ExecuteNonQuery()
MsgBox(h & "record saved)

وبعدين جملة الادخال ممكن تكون كالتالي

	s = "insert into cust" _
		 & "(id,name,tel) values" _
		 & "(" & f1 & f2 & f3 & ")"

عندك مشكلتين :

1. لا يوجد فواصل :

		s = "insert into cust" _
		 & "(id,name,tel) values" _
		 & "(" & f1 & "," & f2 & "," & f3 & ")"

2. تأكد من نوع الحقول المدخلة مثلا كلنا نعرف انه NAME عادة ما يكون من نوع String أقصد Text اذا لازم تكون الجملة في هذه الحالة :

		s = "insert into cust" _
		 & "(id,name,tel) values" _
		 & "(" & f1 & ",'" & f2 & "'," & f3 & ")"

معلومة : بامكانك عمل Debug باستخدام BreakPoint لتتبع جملة الادخال ومن ثم نسخها وتجربتها على قاعدة البيانات مباشرة مما يتيح لك استكشاف الاخطاء بصورة أدق

#7

للاسف المشكلة مازالت قائمة ورسالة الخطأ مازالت تظهر

الا يوجد ردود أخرى!!!

#8

أخيرا وجدت الكود الصحيح

الكود

Dim cn As New OleDbConnection

cn.ConnectionString = "provider=microsoft.jet.oledb.4.0;data source=test.mdb"

cn.Open()

Dim h As Integer

Dim s As String

Dim id, name, tel As String

id = "'" + TextBox1.Text + "'"

name = "'" + TextBox2.Text + "'"

tel = "'" + TextBox3.Text + "'"

s = "insert into cust(id,name,tel)" & _

"values(" + id + "," + name + "," + tel + ")"

Dim cmd As New OleDbCommand(s, cn)

h = cmd.ExecuteNonQuery()

MsgBox(h & "record saved")

هدا الكود اشتغل معيا بدون مشاكل

وشكرا على تعاونكم معى

هذا الموضوع مغلق.

مواضيع مشابهة