نمایش نتایج 1 تا 40 از 45

نام تاپیک: ADO.NET در دات نت

Threaded View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #8

    Lightbulb ويرايش كردن اطلاعات

    جالبه. ويرايش كردن اطلاعات نيز دقيقاً مانند ثبت كردن اطلاعات و حذف كردن اطلاعات هستش.
    تنها تفاوتي كه وجود داره در دستور SQL هستش كه درونش يه شرط قرار ميگيره و اون شرط مقدارش از يه parameter گرفته ميشه و فيلدها يك به يك با Parameter ها مقدار دهي ميشن.(يا به اصطلاح Set ميشن) اين مقدار گرفتن مي تونه مقاديري باشه كه درون يه TextBox هستش. شرط نيز مي تونه يه ID باشه كه مثلاً وقتي كاربر رويه يه ركورد از DataGridview كليك كرد برگشت داده بشه و يا يك عبارت در TextBox و ...
    به هر حال من ساده ترينش رو مثال مي زنم و در مرحله بعد به نحو ديگري اين Parameter رو مقدار دهي مي كنيم.
    ميام دو تا Refrence براي sqlConnection و sqlCommand و يه ArrayList مي سازم:
    در #C:

    SqlConnection cnn = newSqlConnection();
    SqlCommand cmd = newSqlCommand();
    ArrayList arr = newArrayList();
    در VB.NET:

    Dim cnn AsNew SqlConnection()
    Dim cmd AsNew SqlCommand()
    Dim arr AsNew ArrayList()
    حالا تويه دكمه Button براي مقداردهي ArrayList مي نويسم:
    در #C:

    arr.Add(textBox1.Text);
    arr.Add(textBox2.Text);
    arr.Add(textBox3.Text);
    .
    .
    .
    در VB.NET:

    arr.Add(textBox1.Text)
    arr.Add(textBox2.Text)
    arr.Add(textBox3.Text)
    .
    .
    .
    حالا در ادامه دستور بالا درون Button دستور SQL رو مشخص مي كنيم:
    در #C:

    cmd.CommandText =
    "Update set Field1=@Field1,Field2=@Field2 Where ID=@ID";
    در VB.NET:

    cmd.CommandText =
    "Update set Field1=@Field1,Field2=@Field2 Where ID=@ID"
    بعد Parameter هاي موجود رو مقدار دهي مي كنم:
    در #C:

    cmd.Parameters.Clear();
    cmd.Parameters.Add("@Field1", SqlDbType.NVarChar).Value = arr[0].ToString();
    cmd.Parameters.Add("@Field2", SqlDbType.Int).Value =int.Parse ( arr[1].ToString());
    cmd.Parameters.Add("@ID", SqlDbType.Int).Value =int.Parse ( arr[2].ToString());
    .
    .
    .
    در VB.NET:


    cmd.Parameters.Clear();
    cmd.Parameters.Add("@Field1", SqlDbType.NVarChar).Value = arr[0].ToString()
    cmd.Parameters.Add("@Field2", SqlDbType.Int).Value =int.Parse ( arr[1].ToString())
    cmd.Parameters.Add("@ID", SqlDbType.Int).Value =int.Parse ( arr[2].ToString())
    .
    .
    .
    حالا بايد اين cmd رو براي يه روال يا متدي كه بحثش رو كردم بفرستم. اما قبل از ارسال بايد اون رو بسازم. اين روال يا متد اين كار رو انجام مي ده:
    1. اتصال به پايگاه داده
    2. مشخص كردن آدرس پايگاه داده جهت اجرا دستور SQL
    3. باز كردن پايگاه داده
    4. اجراي دستور SQL
    5. بستن پايگاه داده

    در #C:

    private void Update(SqlCommand cmd)
    {
    Connect();
    cmd.Connection = cnn;
    cnn.Open();
    cmd.ExecuteNonQuery();
    cnn.Close();
    }
    در VB.NET:

    Private Sub Update(ByVal cmd As SqlCommand)
    Connect()
    cmd.Connection = cnn
    cnn.Open()
    cmd.ExecuteNonQuery()
    cnn.Close()
    EndSub
    حالا كه متد رو ساختم دوباره بر ميگردم به Button و اين دستور رو به خط آخرش اضافه مي كنم:
    در #C:

    Update(cmd);
    در VB.NET:

    Update(cmd)
    حالا براي اينكه متوجه بشم كه اين ركورد ويرايش شده ميام LoadAll رو كه در پست هاي قبلي نوشتيم رو بهش اضافه مي كنم:
    در #C:

    LoadAll();
    dataGridView1.DataSource = ds;
    dataGridView1.DataMember = "Barnamenevis";
    در VB.NET:

    LoadAll()
    dataGridView1.DataSource = ds
    dataGridView1.DataMember = "Barnamenevis"
    آخرین ویرایش به وسیله اوبالیت به بو : چهارشنبه 25 دی 1387 در 15:18 عصر دلیل: اصلاح متد

برچسب های این تاپیک

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

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