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

نام تاپیک: اجرا نشدن stored procedure

  1. #1
    کاربر تازه وارد
    تاریخ عضویت
    فروردین 1391
    پست
    38

    اجرا نشدن stored procedure

    سلام به همه
    من یک stored procedure نوشتم که بر اساس یه شرط یا باید 1 یا -1 رو برگردونه. به صورت زیر:
    ALTER PROCEDURE [dbo].[check]

    AS
    BEGIN

    if exists(select personnelcode
    from table1
    where table1.personnelcode not in (select personnelcode
    from table2))
    return (-1)
    else
    return 1

    END


    توی ویژوال هم به این صورت نوشتم:

    public static int operatequery(string storedprocedurename)
    {
    connection = new SqlConnection(connectionstring);
    try
    {
    SqlCommand command = new SqlCommand(storedprocedurename, connection);
    command.CommandTimeout = int.MaxValue;
    command.CommandType = CommandType.StoredProcedure;
    connection.Open();

    object returnvalue = command.ExecuteScalar();
    connection.Close();
    return int.Parse("0" + returnvalue);
    }
    catch (Exception ex)
    {
    connection.Close();
    return -1;
    }
    }


    و بعد این تابع رو توی رویداد یک button فراخوانی کردم ولی مشکلی که داره اینه که return value توی تابع null هست و مقدار نمی گیره
    ممنون میشم راهنمایی کنید.

  2. #2
    کاربر دائمی
    تاریخ عضویت
    تیر 1389
    محل زندگی
    به جبر روزگار تهران هستم.
    پست
    2,718

    نقل قول: اجرا نشدن stored procedure

    سلام.
    sp خودتون رو بصورت زیر بنویسید و از پارامتر خروجی برای ارسال 1 یا 1- استفاده کنید :
    ALTER PROCEDURE [dbo].[check]
    @result int output
    AS

    if exists(select personnelcode
    from table1
    where table1.personnelcode not in (select personnelcode
    from table2))
    set @result = -1
    else
    set @result = 1

    در سمت سی شارپ هم مقدار رو بصورت زیر دریافت کنید :
    --------------------
    connection = new SqlConnection(connectionstring);
    SqlCommand command = new SqlCommand("check",connection);
    command.CommandType = CommandType.StoredProcedure;
    command.Parameters.Add("@result", SqlDbType.Int);
    command.Parameters["@result"].Direction = ParameterDirection.Output;
    connection.Open();
    command.ExecuteNonQuery();
    connection.Close();
    int res = Convert.ToInt32(command.Parameters["@result"].Value);
    if (res == -1)
    MessageBox.Show("کد پرسنلی در جدول اول هست که در جدول دوم نیست");
    else if (res == 0)
    MessageBox.Show("تمامی کدهای پرسنلی موجود در جدول اول، در جدول دوم نیز وجود دارند");

    موفق باشید.

  3. #3
    کاربر تازه وارد
    تاریخ عضویت
    فروردین 1391
    پست
    38

    نقل قول: اجرا نشدن stored procedure

    ممنون از راهنماییتون

تاپیک های مشابه

  1. اجرا نشدن stored procedure ‌از داخل Function
    نوشته شده توسط abbas64 در بخش T-SQL
    پاسخ: 2
    آخرین پست: دوشنبه 05 دی 1390, 13:54 عصر
  2. ذخیره نشدن store procedure در db
    نوشته شده توسط mehrdad85 در بخش T-SQL
    پاسخ: 4
    آخرین پست: یک شنبه 09 مرداد 1390, 14:22 عصر
  3. اجرا نشدن stored procedure درvs 2008
    نوشته شده توسط صادق المهدی در بخش SQL Server
    پاسخ: 5
    آخرین پست: دوشنبه 24 آبان 1389, 09:25 صبح
  4. اجرا نشدن دستور stored Procedure
    نوشته شده توسط sayan در بخش C#‎‎
    پاسخ: 3
    آخرین پست: شنبه 09 مرداد 1389, 13:55 عصر
  5. اجرا کردن stored procedure
    نوشته شده توسط AmirAlimadadi در بخش دسترسی به داده ها (ADO.Net و LINQ و ...)
    پاسخ: 2
    آخرین پست: شنبه 23 شهریور 1387, 23:44 عصر

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

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