PDA

View Full Version : کمک- اجرای چند بار ExecuteNonQuery



arman_Delta2002
یک شنبه 15 شهریور 1388, 10:58 صبح
سلام
من میخوام بدون بسته شدن فرم DataAdapter.ExecuteNonQuery چند بار جرا کنم بدونه محدودیت اجرا 1000 بار مثلا . ولی با اجرای یک بار او مثلا زمان بروز رسانی دیتا آداپتور مشکلی پیش نمیاد ولی دوباره فراخانی بشه خطای زمان اجزا میده . ولی اگه فرم رو ببندیم و دوباره باز کنیم به ازای هر بار بستن فرم و بازکردن اون یک بار اجزا میشه ولی مخوام بدون بستن فرم بارها .ExecuteNonQuery رو اجرا کنم. فرقی نمیکنه در اینسرت باشه یا در آپدیت .
.Dispose و Close هم کردم ولی جواب نداد . خواهشن کمک کنید خیلی مهمه.:عصبانی++:

majid325
یک شنبه 15 شهریور 1388, 11:09 صبح
DataAdapter که متدی به نام ExecuteNonQuery نداره !!!!!!!!

mn_zandy63
یک شنبه 15 شهریور 1388, 11:33 صبح
اگه منظورت SqlCommand هست.
نباید مشکلی داشته باشی. بعد از باز کردن Connection هر تعداد که بخوای باید بتونی Command رو اجرا کنی.
خطایی که بهت میده رو بذار شاید متوجه شدیم ایراد از چیه :متفکر:

majid325
یک شنبه 15 شهریور 1388, 11:40 صبح
از درست باز و بسته شدن کانکشن مطمئن هستید.
کد این قسمت رو بزارین

arman_Delta2002
یک شنبه 15 شهریور 1388, 12:05 عصر
DataAdapter که متدی به نام ExecuteNonQuery نداره !!!!!!!!

دوست گرامی بیشتر تحقیق کن

اینم کد این قسمت


SqlScript = "INSERT INTO D_Acc_ServiceHa ([L_D_Acc_FactDarKhad], [زمان ایجاد]) VALUES (@L_D_Acc_FactDarKhad, @زمان_ایجاد)"
With SqlDataAdapter_ServiceHa.InsertCommand
.CommandText = SqlScript
.Parameters.Add(New SqlParameter("@L_D_Acc_FactDarKhad", SqlDbType.BigInt)).Value = Val(Label_Add_FactorDaryaftKhadamat_ID.Text)
.Parameters.Add(New SqlParameter("@زمان_ایجاد", SqlDbType.NVarChar, 25)).Value = DateTime.Now.ToString
.ExecuteNonQuery()
End With


این خطا رو میده

The variable name '@L_D_Acc_FactDarKhad' has already been declared. Variable names must be unique within a query batch or stored procedure.این تیبل به صورت چایلد هست . فقط یک بار ExecuteNonQuery مثل بچه آدم کار میکنه بار دوم باید فرم رو بست و دوباره باز کرد تا کار کنه :عصبانی++:

کانکشن درست باز هست چون میگم یک بار درست کار میکنه ولی بار دوم به بعد خطای بالا رو میده

man_iran
یک شنبه 15 شهریور 1388, 14:54 عصر
این دستورات را توی خود فرم نوشتی یا توی کلاس ؟

Reza_Yarahmadi
یک شنبه 15 شهریور 1388, 16:08 عصر
این یک خط رو به کدت اضافه کن احتمالا درست میشه!

With SqlDataAdapter_ServiceHa.InsertCommand
.CommandText = SqlScript
.Parameters.Clear()
.Parameters.Add(New SqlParameter("@L_D_Acc_FactDarKhad", SqlDbType.BigInt)).Value = Val(Label_Add_FactorDaryaftKhadamat_ID.Text)
.Parameters.Add(New SqlParameter("@زمان_ایجاد", SqlDbType.NVarChar, 25)).Value = DateTime.Now.ToString
.ExecuteNonQuery()
End With

arman_Delta2002
یک شنبه 15 شهریور 1388, 19:18 عصر
هوووووووووو:قلب: تنکیو مستر :بوس: مشکلم با
.parametrs.Clear() کاملا حل شد .
همیشه از همین چیزای برنامه نویسی خوشم میومد 1 ماه سرو کله بزنی و با 4 تا کلمه به جواب برسی :لبخندساده: