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

ما سبب هذا الخطا عند عملية الاضافه

بدأه shosho842000 في 20 أبريل 2010 · 2 رد · 673 مشاهدة · في ADO.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمته الله وبركاته

يظهر عندى مشكله عند الاضافه وهى

INSERT failed because the following SET options have incorrect settings: 'ARITHABORT'. Verify that SET options are correct for use with indexed views and/or indexes on computed columns and/or query notifications and/or xml data type methods.

ما سبب هذا الخطا ؟؟؟

حيث انه جملة الاضافه هى الاتى

 If cn.State = ConnectionState.Open Then cn.Close()
        cn.Open()
        cmd.Connection = cn
        cmd.CommandType = CommandType.Text
        cmd.CommandText = "insert into salary values (@id1,@sal1,@sal2,@sal4,@sal5,@sal6,@sal7,@sal8,@sal9,@sal10,@sal11,@sal12,@sal13,@sal14,@sal15,@sal16,@sal17,@sal18,@sal19,@date)"
        cmd.Parameters.Add("@id1", SqlDbType.Int).Value = TextBox1.Text
        cmd.Parameters.Add("@sal1", SqlDbType.Decimal).Value = Val(TextBox3.Text)
        cmd.Parameters.Add("@sal2", SqlDbType.Decimal).Value = Val(TextBox4.Text)
        cmd.Parameters.Add("@sal4", SqlDbType.Decimal).Value = Val(TextBox6.Text)
        cmd.Parameters.Add("@sal5", SqlDbType.Decimal).Value = Val(TextBox7.Text)
        cmd.Parameters.Add("@sal6", SqlDbType.Decimal).Value = Val(TextBox8.Text)
        cmd.Parameters.Add("@sal7", SqlDbType.Decimal).Value = Val(TextBox9.Text)
        cmd.Parameters.Add("@sal8", SqlDbType.Decimal).Value = Val(TextBox10.Text)
        cmd.Parameters.Add("@sal9", SqlDbType.Decimal).Value = Val(TextBox11.Text)
        cmd.Parameters.Add("@sal14", SqlDbType.Decimal).Value = Val(TextBox35.Text)
        cmd.Parameters.Add("@sal10", SqlDbType.Decimal).Value = Val(TextBox12.Text)
        cmd.Parameters.Add("@sal11", SqlDbType.Decimal).Value = Val(TextBox13.Text)
        cmd.Parameters.Add("@sal15", SqlDbType.Decimal).Value = Val(TextBox37.Text)
        cmd.Parameters.Add("@sal12", SqlDbType.Decimal).Value = Val(TextBox14.Text)
        cmd.Parameters.Add("@sal13", SqlDbType.Decimal).Value = Val(TextBox15.Text)
        cmd.Parameters.Add("@sal16", SqlDbType.Decimal).Value = Val(TextBox32.Text)
        cmd.Parameters.Add("@sal17", SqlDbType.Decimal).Value = Val(TextBox33.Text)
        cmd.Parameters.Add("@sal18", SqlDbType.Decimal).Value = Val(TextBox36.Text)
        cmd.Parameters.Add("@sal19", SqlDbType.Decimal).Value = Val(TextBox34.Text)

        cmd.Parameters.Add("@date", SqlDbType.DateTime).Value = TextBox31.Text


        cmd.ExecuteNonQuery()

ويوجد 3 حقول فى الجدول عبارة عن computed column بس انا مش مدخلهم فى جملة الinsertred

وشكراااااااااااااااااااااااااا

#2

أعتقد أنه يجب تحديد الحقول مادام أنك لم تدخل الحقول كلها

cmd.CommandText = "insert into salary(id1,sal1,sal2,sal4,sal5,sal6,sal7,sal8,sal9,sal10,sal11,sal12,sal13,sal14,sal15,sal16,sal17,sal18,sal19,date) values (@id1,@sal1,@sal2,@sal4,@sal5,@sal6,@sal7,@sal8,@sal9,@sal10,@sal11,@sal12,@sal13,@sal14,@sal15,@sal16,@sal17,@sal18,@sal19,@date)"

او انشاء StoredProcedures أفضل

 وممّا زادنـــي شرفــاً وتيهــاً   **  وكدت بأخمصي أطأ الثريّا

دخولي تحت قولك يا عبادي  **   وأن صيّرت أحمد لي نبيّـاً

#3

بسم الله الرحمن الرحيم

اخى العزيز عمرو طبعا كلامك صح لازم يكون عدد الحقول موجودة

بس الخطا مش بيقول كده هو المفروض يجيى بعد الخطا ده

على العموم

هو المفروض يعمل الأتى عند فتح con

SET ARITHABORT ON

و احسن تجربه الأول فى query anlyzer قبل الكود

http://support.microsoft.com/default.aspx?kbid=305333

و ده من عند ميكروسوفت بتشرح ايه الخطا

ارجو اكون افدتك

و شكرا

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

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

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

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

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