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

نام تاپیک: اتصال DataGridView به DataBase همراه با اعمال شرط

  1. #1

    Question اتصال DataGridView به DataBase همراه با اعمال شرط

    سلام دوستان ! من یه مشکلی دارم.
    وقتی که در C#‎‎‎ دستور زیر را برای اتصال DataGridView به DataBase می نویسم و دکمه Delete یا Edit رامیزنم،تغییرات موردنظر (مثلا حذف یک رکورد) به DataGridView اعمال نمیشه (مگر اینکه فرمم را که فرم فرزنده ببندم و دوباره باز کنم ) البته همانطور که پیداست توی SqlServer این تغییرات انجام میشه.


    privatevoid Form1_Load(object sender, EventArgs e)
    {
    string strcon = "server=.;database=Amlak;integrated security=true";
    SqlConnection con = newSqlConnection(strcon);
    con.Open();
    string sql="select * from Sepordeha Where Baygani='False'";

    SqlDataAdapter dap = newSqlDataAdapter(sql,con);
    dap.Fill( ds,"Sepordeha" );
    dataGridView1.DataBindings.Clear();
    dataGridView1.DataBindings.Add(newBinding("Datasource", ds, "sepordeha"));
    dataGridView1.DataBindings.Clear();


    و کد Delete را هم به این صورت نوشتم :



    dataGridView1.ReadOnly = false;


    dataGridView1.AllowUserToDeleteRows = true;
    string strcon = "server=.;database=Amlak;integrated security=true";
    SqlConnection con = newSqlConnection(strcon);
    con.Open();
    string sn;
    SqlCommand cmd = newSqlCommand();
    string sqlDel;
    sn = dataGridView1.CurrentRow.Cells[0].Value.ToString();
    sqlDel = "Delete FROM sepordeha WHERE ShomareRadif=" + sn;
    cmd.CommandText = sqlDel;
    cmd.Connection = con;
    cmd.ExecuteNonQuery();




    البته وقتی دیتا گریدمو به صورت ویزاردی به دیتا بیس وصل می کنم ، مشکلی پیش نمی یاد اما من نمی خوام همه رکورد های جدولمو نشون بدم بلکه می خوام شرط Where Baygani='False' اعمال شود.

    در حالت ویزاردی در Form_Load می نویسم :


    this.sepordehaTableAdapter1.Fill(this.amlakDataSet1.sepordeha);


    من میخوام همراه با اعمال این شرط دکمه های حذف و ویرایش هم درست کار کنه.
    لطفا راهنماییم کنید. بد جوری گیر کردم.

  2. #2

    نقل قول: اتصال DataGridView به DataBase همراه با اعمال شرط

    چرا کسی جوابمو نمی ده ؟

    شاید من سوالمو خیلی خوب مطرح نکردم. منظورم دقیقا اینه که می خوام با اعمال یک شرط
    DataGridView رو به دیتابیس وصل کنم.

    در حالت ویزارد ، مجبورم کل یک جدول رو به DataGridView متصل کنم اما من نمی خوام همه جدولم رونشون بدم بلکه میخوام فقط رکوردهایی نمایش داده بشه که بایگانی نشده است. در این حالتم با کد Delete ای که نوشتم ، دکمه Deleteام درست کار نمی کنه.

    حالا اگه تو کدهای نوشته شده ، مشکلی وجود داره بگید. یا اگه کدی دارید که همراه با اعمال شرط ، دکمه های حذف و درج و ویرایشش هم درست کار می کنه بهم بدید بی زحمت.

  3. #3
    کاربر دائمی آواتار raminsalemi
    تاریخ عضویت
    دی 1386
    محل زندگی
    تهران
    پست
    125

    Smile نقل قول: اتصال DataGridView به DataBase همراه با اعمال شرط

    دوست عزیز شما باید کدی رو که در فرم لود نوشتید رو به صورت یک متد تعریف کنید و اون رو در باتن delete/editفراخوانی کنید تا دیتا گرید تون تغییرات رو نشون بده

  4. #4
    مدیر بخش آواتار mmd2009
    تاریخ عضویت
    اردیبهشت 1403
    محل زندگی
    تهران
    پست
    2,393

    نقل قول: اتصال DataGridView به DataBase همراه با اعمال شرط

    با سلام

    ds.clear() هم فراموش نشه اگر می خواهدی به صورت متد تعریفش کنید

    البته رویداد مربوط به نماش بانک در گرید رو هم میتونید فراخوانی کنید.

    کسی که به خود اطمینان دارد به تعریف دیگران احتیاج ندارد. «گوستاو لوبون»


  5. #5
    کاربر دائمی آواتار ایمان مدائنی
    تاریخ عضویت
    آذر 1386
    محل زندگی
    تهران
    پست
    1,463

    نقل قول: اتصال DataGridView به DataBase همراه با اعمال شرط

    همونطور كه دوستان گفتن پس از عمليات بايد فرم رو بروز رساني كني !
    كدش رو برات ميذارم در آخر كدهات بزن :





    this.FORM1_LOAD(this, null);




  6. #6

    نقل قول: اتصال DataGridView به DataBase همراه با اعمال شرط

    دست همگی تون درد نکنه.
    من کل کدی رو که در Form_Load نوشته بودم به آخر کد Delete اضافه کردم و جواب گرفتم.
    (این رو واسه اطلاع بقیه دوستان که با مشکل من روبرو میشن، نوشتم)

    اما نمی دونم که چطور باید این کدها رو به صورت Method بنویسم تا کد برنامم کوتاهتر بشه.

    میشه در این مورد راهنماییم کنید. مرسی

  7. #7
    کاربر دائمی آواتار اَرژنگ
    تاریخ عضویت
    آبان 1384
    محل زندگی
    arjang8000@gmail.com
    پست
    2,736

    نقل قول: اتصال DataGridView به DataBase همراه با اعمال شرط

    نقل قول نوشته شده توسط bahane274 مشاهده تاپیک
    دست همگی تون درد نکنه.
    من کل کدی رو که در Form_Load نوشته بودم به آخر کد Delete اضافه کردم و جواب گرفتم.
    (این رو واسه اطلاع بقیه دوستان که با مشکل من روبرو میشن، نوشتم)

    اما نمی دونم که چطور باید این کدها رو به صورت Method بنویسم تا کد برنامم کوتاهتر بشه.

    میشه در این مورد راهنماییم کنید. مرسی
    به شکل خلاصه، این روش و جوابهایه فرستاده شده در راه اشتباه پیش میرند، روش درست استفاده از معماری ۳ لایه است. روش از بنا خراب است ، به جایه اینکه این روش را به کار بندازید ، معماری ۳ لایه را یاد بگیرید، سطح مشکلاتتان میره بالا.

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

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