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

خطأ عند تحديث حفظ جدول بقاعدة من خلال الفيجوال بيسك

بدأه سماء بعيدة في 22 مارس 2012 · 3 رد · 761 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

خطأ

ora-01036 illegal variable name/number

الكود

Try

            Dim con As New OracleConnection
            con.ConnectionString = "Persist Security Info=False;User ID=manal;password=manal;Data Source=xe"
            con.Open()
            Dim cmd As New OracleCommand
            cmd.CommandType = CommandType.Text
            cmd.Connection = con

            'cmd.CommandText = "update tableedges set distance=:1 where fileno=:2 and edgeNo=:3"
            ' cmd.CommandText = "update tableedges"

            cmd.CommandText = "update tableedges set edgeName=:@EdgeName and node1No=: @node1No" & _
                  " and node2No=:  @node2No and distance=: @edgeDistance where edgeNo =: @EdgeNum and fileno =: @FileNum"


            cmd.Parameters.Add("@EdgeNum", OracleDbType.Int32).Value = ed.ped_ID
            cmd.Parameters.Add("@EdgeName", OracleDbType.Varchar2).Value = ed.ped_Name
            cmd.Parameters.Add("@node1No", OracleDbType.Int32).Value = ed.pnd1
            cmd.Parameters.Add("@node1No", OracleDbType.Int32).Value = ed.pnd2
            cmd.Parameters.Add("@edgeDistance", OracleDbType.Double).Value = ed.pdistance
            cmd.Parameters.Add("@FileNum", OracleDbType.Int32).Value = FN


            Dim success As Boolean

            If cmd.ExecuteNonQuery() = 1 Then
                success = True
            Else
                success = False
            End If

            cmd.Dispose()
            con.Close()
            con.Dispose()
            Return success
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try

طبعا لو كتبت جملة update بالطريقة ادناه ما يظهر هذا الخطأ، بس انا اريد احدث كل حقول الجدول

cmd.CommandText = "update tableedges set distance=:1 where fileno=:2 and edgeNo=:3"
#2

السلام عليكم ...

عبارة الــ update يجب أن تكون بالشكل التالي :

UPDATE tableedges SET edgeName=@EdgeName ,  node1No=  @node1No , node2No= @node2No  , distance = @edgeDistance WHERE  edgeNo = @EdgeNum and fileno = @FileNum;

أي نضع فاصلة بين الحقول في قسم الــ UPDATE و ليس and , و لا داعي لاستخدام النقطتين باعتقادي طالما استخدمنا الرمز @ قبل اسم البارمتر ..

تم تعديل هذه المشاركة بواسطة houssam11350_11350 في 22 مارس 2012 في 10:52

لا إله إلا الله ... محمد رسول الله

لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة

المعرًف القديم : houssam11350_11350

من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر

#3
houssam11350_11350 كتب:

السلام عليكم ...

عبارة الــ update يجب أن تكون بالشكل التالي :

UPDATE tableedges SET edgeName=@EdgeName ,  node1No=  @node1No , node2No= @node2No  , distance = @edgeDistance WHERE  edgeNo = @EdgeNum and fileno = @FileNum;

أي نضع فاصلة بين الحقول في قسم الــ UPDATE و ليس and , و لا داعي لاستخدام النقطتين باعتقادي طالما استخدمنا الرمز @ قبل اسم البارمتر ..

وعليكم السلام

جربتها امس وطلع خطا

ora-00936 missing expression

جربت اكثر من طريقه منها

update table (f1,f2,.....etc) values (v1,v2,....etc)

وما ضبطت

#4

السلام عليكم ...

اقتباس
update table (f1,f2,.....etc) values (v1,v2,....etc)
هذه العبارة ليست صحيحة , فاعبارة الصحيحة للــ update هي
UPDATE tableName SET field1=value1 , field2 = value1 .... WHERE condition

لا إله إلا الله ... محمد رسول الله

لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة

المعرًف القديم : houssam11350_11350

من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…