مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

sakhi6491

عضویت از 1397/09/20

بازنشانی همزمان اطلاعات هم از دیتابیس و هم با کد نویسی در گریدویو

  • شنبه 20 اسفند 1401
  • 23:11
تشکر میکنم

با سلام خدمت اساتید محترم

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

سوال این است که این روش مناسبی برای ذخیره داده است یا علاوه بر کد ملی، نام و نام خانوادگی را هم در جدول مرخصی ها اضافه کنم؟

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

ممنون

پاسخ های این پرسش

تعداد پاسخ ها : 1 پاسخ
کاربر سایت

modaberr

عضویت از 1396/12/15

  • شنبه 26 فروردین 1402
  • 09:43

سلام  شما  میتوانید یک فرم دیکه درست کنید که تمام مشخصات افراد باشه مثلا( نام و نام خانوادگی نام پدر کد ملی... ) و نحوه فراخوانی فرم رو روی سلول های دیتا گرید ویو بزنید یعنی روی هر کدام از سلول ها کلیک کردید فرم باز میشه و مشخصات کامل رو نمایش میده و سکلتی که میزنید بر اساس کد ملی که در دیتا گرید ویو هست 

روی دیتا گرید ویو روی قسمت سل دابل کلیک کلیک کنید و فرم را فراخوانی می کنید ودر فرم جدید تکست باکس مربوط به کد ملی رو پاپلیک می کنید و موقعی که فرم رو خواستید فراوخانی کنید مینوسید from 1  frm = new from 1

frm .textbox_codemeli=CurrentRow.Cells["شماره سلول دیتا گرید ویو "].Value.ToString();

form1.show();

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

 

 

try

           {

               SqlConnection con = new SqlConnection(@"Data Source=192.168.1.101,1433;Initial Catalog=sql_coding;user id=coding;password=12345");

               SqlCommand com = new SqlCommand();

               com.Connection = con;

               com.CommandText = "select kala.code as code_kala,kala.name as name_kala,rsid2.tedad,vahedkala.name as name_vahedkala,vahedkala.code as code_vahedkala,rsid2.tozihat from [rsid2] inner join kala on kala.code=rsid2.id_kala inner join vahedkala on vahedkala.code=rsid2.id_vahedkala where rsid2.id=@id ";

               com.Parameters.AddWithValue("@id", dgv_rsid2.CurrentRow.Cells["column1"].Value.ToString());

               SqlDataAdapter sda = new SqlDataAdapter();

               DataTable dt = new DataTable();

               sda.SelectCommand = com;

               sda.Fill(dt);

               con.Open();

               SqlDataReader sdr;

               sdr = com.ExecuteReader();

               if (sdr.Read())

               {

                   txt_code_kala.Text = sdr["code_kala"].ToString();

                   txt_name_kala.Text = sdr["name_kala"].ToString();

                   txt_tedad.Text = sdr["tedad"].ToString();

                   txt_code_vahedkala.Text = sdr["code_vahedkala"].ToString();

                   txt_name_vahedkala.Text = sdr["name_vahedkala"].ToString();

                   txt_tozihat.Text = sdr["tozihat"].ToString();

                   btn_sabt_rsid2.Hide();

                   btn_sabt_edite_rsid2.Show();

               }

               con.Close();

           }

           catch

           {

 

           }

 

 

 

 

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)