نمایش نتایج 1 تا 17 از 17

نام تاپیک: مشكل در اجراي دستور executenonquery در sql express

  1. #1
    کاربر دائمی آواتار spring69
    تاریخ عضویت
    مهر 1388
    محل زندگی
    تهران
    سن
    29
    پست
    321

    مشكل در اجراي دستور executenonquery در sql express

    با سلام خدمت دوستان
    چرا دستور executenonquery براي اجراي دستور insert و update در sql express كار نمي كنه.
    من از كد زير براي اين كار استفاده مي كنم ولي بدون اينكه هيچ اروري بده كار نمي كنه.
    حتي اگه يكي از فيلدها كه primry key هست رو تكراري بدم ايراد ميگيره.

    SqlCommand com = new SqlCommand("NewPerson",Classes.Vars.MyConnection);
    com.CommandType = CommandType.StoredProcedure;
    Classes.Vars.MyConnection.Open();
    com.ExecuteNonQuery();
    Classes.Vars.MyConnection.Close();



    البته اينم بگم كه StoredProcedure كه بكار بردم رو اگه توي خود محيط vs اجرا كنم جواب ميده. ولي با كد نويسي نه. لطفا كمك كنيد.
    آخرین ویرایش به وسیله mehdi.mousavi : چهارشنبه 19 اسفند 1388 در 17:57 عصر دلیل: decorate کردن کد ارسال شده


  2. #2

    نقل قول: مشكل در اجراي دستور executenonquery در sql express

    سلام.
    لطفا Stored Procedure خودتون رو اینجا قرار بدید تا ببینم ایراد از چی هستش.

    موفق باشید.

  3. #3
    کاربر دائمی آواتار M.YasPro
    تاریخ عضویت
    آبان 1386
    محل زندگی
    Kernel
    پست
    1,171

    نقل قول: مشكل در اجراي دستور executenonquery در sql express

    سلام
    executenonquery یه عدد برمیگردونه ، trace کن ببین اون عدد چنده ؟

  4. #4

    نقل قول: مشكل در اجراي دستور executenonquery در sql express

    مگه sql express هم stored procedure داره؟؟؟؟!!!!!!!!!!!!!!!!!!!!!

  5. #5
    کاربر دائمی آواتار spring69
    تاریخ عضویت
    مهر 1388
    محل زندگی
    تهران
    سن
    29
    پست
    321

    نقل قول: مشكل در اجراي دستور executenonquery در sql express

    با تشكر از توجه شما

    ALTER PROCEDURE dbo.NewPerson
    @id nvarchar(50),
    @name nvarchar(50),
    @family nvarchar(50),
    @fathername nvarchar(50),
    @shsh nvarchar(50),
    @shmelli nvarchar(50),
    @sadere nvarchar(50),
    @postcode nvarchar(50),
    @adres nvarchar(50),
    @pelak nvarchar(50),
    @tel nvarchar(50),
    @ostan nvarchar(50),
    @shahr nvarchar(50)
    AS
    insert into tblpersons(id,[name],family,fathername,shsh
    ,shmelli,sadere,postcode,adres,pelak,tel,ostan,sha hr) values(@id,@name,@family,@fathername
    ,@shsh,@shmelli,@sadere,@postcode,@adres,@pelak,@t el,@ostan,@shahr)
    RETURN
    بعد با اين كدهم اون رو اجرا مي كنم
    int c = 0;
    SqlCommand com = new SqlCommand("select count(*) from tblpersons", Classes.Vars.MyConnection);
    Classes.Vars.MyConnection.Open();
    c = int.Parse(com.ExecuteScalar().ToString())+1;
    Classes.Vars.MyConnection.Close();

    com.CommandText = "NewPerson";
    com.CommandType = CommandType.StoredProcedure;
    com.Parameters.AddWithValue("@id", c.ToString());
    com.Parameters.AddWithValue("@name", txtName.Text);
    com.Parameters.AddWithValue("@family", txtFamily.Text);
    com.Parameters.AddWithValue("@shsh", txtshsh.Text);
    com.Parameters.AddWithValue("@shmelli", txtshmelli.Text);
    com.Parameters.AddWithValue("@sadere", txtSadere.Text);
    com.Parameters.AddWithValue("@postcode", txtCodePosti.Text);
    com.Parameters.AddWithValue("@adres", txtAdres.Text);
    com.Parameters.AddWithValue("@pelak", txtpelak.Text);
    com.Parameters.AddWithValue("@tel", txtTel.Text);
    com.Parameters.AddWithValue("@ostan", cbOstan.Text);
    com.Parameters.AddWithValue("@shahr", cbShahr.Text);
    com.Parameters.AddWithValue("@fathername", txtFatherName.Text);
    com.CommandType = CommandType.StoredProcedure;
    Classes.Vars.MyConnection.Open();
    com.ExecuteNonQuery();
    Classes.Vars.MyConnection.Close();
    آخرین ویرایش به وسیله spring69 : چهارشنبه 19 اسفند 1388 در 18:23 عصر

  6. #6
    کاربر دائمی آواتار spring69
    تاریخ عضویت
    مهر 1388
    محل زندگی
    تهران
    سن
    29
    پست
    321

    نقل قول: مشكل در اجراي دستور executenonquery در sql express

    executenonquery هم مقدار يك رو برميگردونه. ولي هيچي تو بانك اضافه نميشه.
    من دستورات insert رو بدون storedprocedure هم نوشتم باز كار نكرد.
    البته اون دستور execurescalar بالا كه براي گرفتن تعداد ركوردها به كار بردم به خوبي كار ميكنه و تعداد رو برميگردونه
    لطفا راهنمايي كنيد.

  7. #7

    نقل قول: مشكل در اجراي دستور executenonquery در sql express

    سلام.
    بنظر میرسه کد مشکلی نداره.... آیا ممکنه Exception ای Throw بشه و شما Catch all کرده باشید که ایراد از دید شما مخفی بمونه؟ شما میتونید با SQL Server Profiler، بلافاصله دستوراتی که به SQL Server ارسال میشن رو Trace کنید و ببینید به چه دلیل داده ها در بانک ذخیره نمیشن. البته مطمئن نیستم که Express Edition ابزار Profiler رو داشته باشه...

    در هر حال، کدی که نوشته اید اصلا جالب نیست. در واقع این کد، داره دو بار ExecuteScalar رو Call میکنه... بار اول هنگا چک کردن شرط اول if، و اگر شرط برقرار نباشه، یکبار دیگه در else شما دارید ExecuteScalar رو فراخوانی می کنید. ابتدا ExecuteScalar رو در خطی مجزا بنویسید و مقدار بازگشتی اونو به متغیری Assign کنید. سپس if...else خودتون رو روی متغیر اعمال کنید. برای پیدا کردن مشکل هم کد رو ساده کنید...

    موفق باشید.

    پاورقی: لطفا از این به بعد کدهایی که میذارید رو decorate کنید که کاربران بتونن راحتتر اونها رو بخونن. اگر به نوار ابزار هنگام ارسال تاپیک دقت کنید، گزینه ای وجود داره که امکان Decorate کردن رو براتون فراهم میکنه. این گزینه با علامت <> یا # نمایش داده شده.

  8. #8
    کاربر دائمی آواتار golbafan
    تاریخ عضویت
    اردیبهشت 1388
    محل زندگی
    در قلب دوستان
    پست
    2,018

    نقل قول: مشكل در اجراي دستور executenonquery در sql express

    يك ابزاري بود به نام sql-builder كه كمك ميكرد كد ها بهينه باشن و خطايي حاصل نشه

    لينكشو پيدا كنم ميزارم

  9. #9
    کاربر دائمی آواتار spring69
    تاریخ عضویت
    مهر 1388
    محل زندگی
    تهران
    سن
    29
    پست
    321

    نقل قول: مشكل در اجراي دستور executenonquery در sql express

    نقل قول نوشته شده توسط golbafan مشاهده تاپیک
    يك ابزاري بود به نام sql-builder كه كمك ميكرد كد ها بهينه باشن و خطايي حاصل نشه

    لينكشو پيدا كنم ميزارم
    اخه كد هيچ مشكلي نداره و وقتي storedprocedure رو اجرا ميكنم و پارامترها رو دستي مقدار ميدم قشنگ كار ميكنه ولي وقتي داخل كد برنامه اونو فراخواني ميكنم داده اضافه نميكنه.
    من هيچ sql server ديگه اي بجز اون Sql server كه خود vs2008 نصب ميكنه رو سيستمم نصب نكردم و بانكم رو هم از طريق پنجره server explorer خود vs ساختم. ميتونه مشكل از اينجا باشه؟
    لطفا به من مبتدي كمك كنيد.

  10. #10
    کاربر دائمی آواتار spring69
    تاریخ عضویت
    مهر 1388
    محل زندگی
    تهران
    سن
    29
    پست
    321

    نقل قول: مشكل در اجراي دستور executenonquery در sql express

    لينك پرو‍‍ژه رو گذاشتم. لطفا دانلود كنيد و تست كنيد ببينيد مشكل از كجاست.

    برای دانلود اینجا را کلیک کنید

  11. #11
    کاربر دائمی آواتار golbafan
    تاریخ عضویت
    اردیبهشت 1388
    محل زندگی
    در قلب دوستان
    پست
    2,018

    نقل قول: مشكل در اجراي دستور executenonquery در sql express

    اگر از رشته ها استفاده ميكني (براي مقدار دهي در برنامه) اينكار رو نكن و برو سراغ char

  12. #12
    کاربر دائمی آواتار spring69
    تاریخ عضویت
    مهر 1388
    محل زندگی
    تهران
    سن
    29
    پست
    321

    نقل قول: مشكل در اجراي دستور executenonquery در sql express

    لطفا اگه كسي برنامه رو دانلود كرده تست كنه و جوابشو بهم بگه

  13. #13

    نقل قول: مشكل در اجراي دستور executenonquery در sql express

    حجمش بالاست (البته برای ما Dial Up ی ها )

  14. #14

    نقل قول: مشكل در اجراي دستور executenonquery در sql express

    http://www.elook.ir/CarExhibition.rar
    این برنامه رو دانلود کن و
    دیتابیست رو اتچ کن و تو کانکشن استرینگی که تو کلاس Vars نوشتم دیتاسورس خودت رو قرار بده و یوزر و پس دیتابیست رو هم وارد کن ... (خلاصه اینکه کانکشن استرینگت رو این مدلی وارد کن)... یه چیزایی هم اصلا لازم نبود که باشن، حذفشون کردم. یه چیز دیگه، اگه واسه ست کردن کانکشن استرینک از کلاسی که خودت نوشتی داری استفاده میکنی دیگه چرا همون کانکشن استرینگ ررو تو ap.config هم قرار دادی و هیچ جا ازش استفاده نکردی؟؟؟؟؟؟؟؟؟؟؟؟
    تست کردم و بدون مشکل سطر ها رو به جدول newperson اضافه میکرد

  15. #15
    کاربر دائمی آواتار spring69
    تاریخ عضویت
    مهر 1388
    محل زندگی
    تهران
    سن
    29
    پست
    321

    نقل قول: مشكل در اجراي دستور executenonquery در sql express

    از خير express گذشتم و يه managment 2005 نصب كردم و مشكل حل شد.
    با تشكر از دوستان.

  16. #16

    نقل قول: مشكل در اجراي دستور executenonquery در sql express

    ولی کسی به سوال ما جواب نداد...
    مگه express هم stored procedure داره؟

  17. #17
    کاربر دائمی آواتار spring69
    تاریخ عضویت
    مهر 1388
    محل زندگی
    تهران
    سن
    29
    پست
    321

    نقل قول: مشكل در اجراي دستور executenonquery در sql express

    نقل قول نوشته شده توسط open-source مشاهده تاپیک
    ولی کسی به سوال ما جواب نداد...
    مگه express هم stored procedure داره؟
    آره عزيز چرا نداره.
    حداقل مال من كه داشت.

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •