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

نام تاپیک: نحوه کار کردن با store procedure در #C

  1. #1

    نحوه کار کردن با store procedure در #C

    سلام.
    میخواستم بدونم نحوه کار کردن با توابع خروجی که در Store procedure ایجاد شده در SQL Server را چگونه باید در# C فراخوانی و استفاده کنیم؟
    مثل: declare @Error nvarchar(50) output
    این متغییر فقط پیام خطای را چاپ میکند..
    برای واضح بودن تکه کدی را در ایجاد کردن در Store procedure می نویسم.
    Create Procedure Phone_book_Account_insert
    @Account_srl bigint,
    @Account_id bigint,
    @Account_name nvarchar(20),
    @Account_lname nvarchar(20),
    @Account_company nvarchar(30),
    @Account_phone char(12),
    @Account_cell_phone char(12),
    @Account_email nchar(30),
    @Account_address nvarchar(50),
    @Account_command nvarchar(50),
    @err nvarchar(200) output
    AS
    if exists (select Account_srl from Phone_book_Account
    where Account_srl=@Account_srl and Account_id=@Account_id)
    begin
    set @err='کاربر قبلا ثبت شده است!'
    return
    end
    insert into Phone_book_Account(Account_id,Account_name,Account _lname,Account_company,Account_phone,
    Account_cell_phone,Account_email,Account_address,A ccount_command) values (
    @Account_id,@Account_name,@Account_lname,@Account_ company,@Account_phone,@Account_cell_phone,
    @Account_email,@Account_address,@Account_command)


  2. #2
    کاربر دائمی
    تاریخ عضویت
    اسفند 1388
    محل زندگی
    کرمان
    پست
    285

    نقل قول: نحوه کار کردن با store procedure در #C

    دوست عزیز من یک مثال برای شما مینویسم اگر متوجه نشدی بگو توضیح بدم.


    SqlCommand Cmd = new SqlCommand;
    SqlParameter return = new SqlParameter;
    return = Cmd.Parameter.Add("@return",SqlDbTyoe.Int);
    return.Direction = ParameterDirection.Output;


    برای بدست آوردن مقدار پارامتر هم از دستور
    return.Value.ToString();

    استفاده کنید.

  3. #3

    نقل قول: نحوه کار کردن با store procedure در #C

    سلام و خسته نباشد.
    اگه ممکنه واسه اینزرت کردن این داده ها یک توضیح بدبد.

    @Account_address nvarchar(50),
    @Account_command nvarchar(50),
    @err nvarchar(200) output
    مثلا می خواییم Account_address,Account_command را در C#‎ به وسیله پارامترها ثبت کنیم و پیغام داخل err@ را هم نمایش بدیم.

  4. #4
    کاربر دائمی
    تاریخ عضویت
    اسفند 1388
    محل زندگی
    کرمان
    پست
    285

    نقل قول: نحوه کار کردن با store procedure در #C

    دوست عزیز وقتی یک شی ازنوع SqlCommand می سازی متونی مشخص کنید که نوع دستور SQl از چه نوعی است (مثلا Store Procedure) و همچنین میشه پارامتر هم ست کرد.

    SqlConnection Con = new SqlConnection();
    SqlCommand Cmd = new SqlCommand();
    Cmd.CommandType = CommandType.StoreProcedure;
    Cmd.CommandText = "نام رویه ذخیره شده";
    Cmd.Parameters.AddWithValue("@Account_address", مقدار پارامتر(;
    Cmd.Parameters.AddWithValue("@Account_command",م دار پارامتر(;
    SqlParameter err = new SqlParameter();
    err.Direction = ParametesDirection.Output;
    err = Cmd.Parameters.Add("@err",SqlDbType.nvarchar);
    Con.Open();
    Cmd.ExecuteNoneQuery();
    Con.Close();
    string error = err.Value.Tostring();

  5. #5

    نقل قول: نحوه کار کردن با store procedure در #C

    سلام.
    خیلی ممنون از زحمتتون و وقتی که میذارید.
    من کد شما رو استفاده کردم اما بهم این پیغام خطا میده.
    http://pajoheshgar.persiangig.com/pic.jpg
    اینم کد داخلی VS
    SqlConnection cnn = new SqlConnection("Data Source=HESSAM;Initial Catalog=Phone_book;Integrated Security=True");
    private void button1_Click(object sender, EventArgs e)
    {
    try
    {

    SqlCommand comm = new SqlCommand("Phone_book_Account_insert", cnn);
    comm.CommandType = CommandType.StoredProcedure;
    // comm.CommandText = "نام رویه ذخیره شده";
    comm.Parameters.AddWithValue("@Account_srl", 1);

    if (textBox1.Text == "") throw new Exception("کد کاربری را وارد نکرده اید");
    else
    comm.Parameters.AddWithValue("@Account_id", int.Parse(textBox1.Text));

    comm.Parameters.AddWithValue("@Account_name", textBox2.Text);
    comm.Parameters.AddWithValue("@Account_lname", textBox3.Text);
    comm.Parameters.AddWithValue("@Account_company", textBox4.Text);
    comm.Parameters.AddWithValue("@Account_phone", textBox5.Text);
    comm.Parameters.AddWithValue("@Account_cell_phone" , textBox6.Text);
    comm.Parameters.AddWithValue("@Account_email", textBox7.Text);
    comm.Parameters.AddWithValue("@Account_address", textBox8.Text);
    comm.Parameters.AddWithValue("@Account_command", textBox9.Text);
    SqlParameter err = new SqlParameter();
    err.Direction = ParameterDirection.Output;
    err = comm.Parameters.Add("@err", SqlDbType.NVarChar);
    cnn.Open();
    comm.ExecuteNonQuery();
    cnn.Close();
    string error = err.Value.ToString();
    MessageBox.Show(error.ToString());
    SqlDataAdapter da = new SqlDataAdapter("select * from Phone_book_account", cnn);
    DataSet ds = new DataSet();
    da.Fill(ds, "phone");
    }
    catch (Exception ex)
    {

    MessageBox.Show(ex.Message);
    }
    finally
    {
    cnn.Close();
    }
    اینم کد داخل Procedure SQL
    ضمیمه 99924

    create Procedure Phone_book_Account_insert
    @Account_srl bigint,
    @Account_id bigint,
    @Account_name nvarchar(20),
    @Account_lname nvarchar(20),
    @Account_company nvarchar(30),
    @Account_phone char(12),
    @Account_cell_phone char(12),
    @Account_email nchar(30),
    @Account_address nvarchar(50),
    @Account_command nvarchar(50),
    @err nvarchar(200) output
    AS
    if exists (select Account_srl from Phone_book_Account
    where Account_id=@Account_id)
    begin
    set @err='کاربر قبلا ثبت شده است!'
    return
    end
    insert into Phone_book_Account(Account_id,Account_name,Account _lname,Account_company,Account_phone,
    Account_cell_phone,Account_email,Account_address,A ccount_command) values (
    @Account_id,@Account_name,@Account_lname,@Account_ company,@Account_phone,@Account_cell_phone,
    @Account_email,@Account_address,@Account_command)

    این کد اجرا در SQL
    declare @err nvarchar(200)
    exec Phone_book_Account_insert 10052,6,'ali','reza','','','','','','',@err output
    select @err
    select * from Phone_book_Account
    ضمیمه 99921

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

  1. نحوه کار کردن با پورتها درVC#‎یاC#‎.NET
    نوشته شده توسط EMANOEL در بخش C#‎‎
    پاسخ: 1
    آخرین پست: چهارشنبه 07 فروردین 1387, 22:03 عصر
  2. نحوه کار کردن با ehlib
    نوشته شده توسط Batman در بخش کامپوننت های سایر شرکت ها، و توسعه کامپوننت
    پاسخ: 3
    آخرین پست: شنبه 01 دی 1386, 23:17 عصر
  3. Union کردن دوتا Stored Procedure
    نوشته شده توسط sarasara در بخش SQL Server
    پاسخ: 3
    آخرین پست: سه شنبه 13 دی 1384, 09:11 صبح
  4. نحوه کار کردن با TreeView - تو رو خدا کمک کنید
    نوشته شده توسط ho_abedin در بخش برنامه نویسی در Delphi
    پاسخ: 3
    آخرین پست: پنج شنبه 01 اردیبهشت 1384, 18:12 عصر

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

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