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

نام تاپیک: مشکل در دستور select در سی شارپ و SQL

  1. #1

    مشکل در دستور select در سی شارپ و SQL

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

    نرم افزرای برای یک شرکت ساختمانی طراحی کردم که یکسری اطلاعات برای مثال نوع سقف ، نوع کفپوش و ....... به عنوان ورودی اولیه از کاربر دریافت میکنه
    که جدول تمام اطلاعات پایه دو تا فیلد بیشتر نداره ID و subject

    من در زمان ثبت سفارش فقط ID هر کدوم از پارامترهایی که نیاز داشته باشم را داخل جدول ثبت سفارش ذخیره میکنم اما عنوان را دحیره نمیکنم
    الان موقع نمایش اطلاعات داخل دیتاگرید مشکل دارم
    من ID رکوردهام را ذخیره کردم الان میخوام عنوان اون Id را داخل دیتاگرید موقع نمایش یا جستجوی سفارش بهم نشون بده

    چکار باید بکنم ؟
    اصلا کاری که کردم درست هست ؟

    ممنن میشم جواب بدین

  2. #2

    نقل قول: مشکل در دستور select در سی شارپ و SQL

    نقل قول نوشته شده توسط misagh.sys مشاهده تاپیک
    با سلام خدمت دوستان و مهندسین بزرگوار
    سوالی داشتم خدمتتون میخواستم لطف کنید و جواب بدین

    نرم افزرای برای یک شرکت ساختمانی طراحی کردم که یکسری اطلاعات برای مثال نوع سقف ، نوع کفپوش و ....... به عنوان ورودی اولیه از کاربر دریافت میکنه
    که جدول تمام اطلاعات پایه دو تا فیلد بیشتر نداره ID و subject

    من در زمان ثبت سفارش فقط ID هر کدوم از پارامترهایی که نیاز داشته باشم را داخل جدول ثبت سفارش ذخیره میکنم اما عنوان را دحیره نمیکنم
    الان موقع نمایش اطلاعات داخل دیتاگرید مشکل دارم
    من ID رکوردهام را ذخیره کردم الان میخوام عنوان اون Id را داخل دیتاگرید موقع نمایش یا جستجوی سفارش بهم نشون بده

    چکار باید بکنم ؟
    اصلا کاری که کردم درست هست ؟

    ممنن میشم جواب بدین
    شما هم می توانید موقع خواندن از پایگاه داده با دستور SQL اون ID رو با Subject اش جایگزین کنید (INNER JOIN) و هم می توانید موقع نمایش در DataGridView تبدیل رو انجام بدید.
    برای تبدیل سریع id به subject در کدتون می توانید یک <Dictionary<int, string تعریف کنید که ابتدای برنامه همه اون id ها و subject شون رو ذخیره کنه تا موقع نمایش سریع id بگیره و subject تحویل بده.
    مثلا :

    private Dictionary<int, string> _subjects = new Dictionary<int, string>();

    private void Form1_Load(object sender, EventArgs e)
    {
    var dataTable = new DataTable();

    // Fill DataTable...

    foreach (DataRow row in dataTable.Rows)
    {
    _subjects.Add((int)row["id"], (string)row["subject"]);
    }
    }


    و در DataGridView شما می توانید مشخص کنید که میخوام در ستون فلان (مثلا ستون اندیس 1) بجای id که واقعا قرار دادم، فلان عبارت string، مثلا subject اش نمایش داده بشه :

    private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
    {
    if (e.ColumnIndex == 1)
    {
    string subject;
    if (_subjects.TryGetValue(int.Parse(e.Value.ToString( )), out subject) == false)
    {
    subject = "نامشخص";
    }
    e.Value = subject;
    e.FormattingApplied = true;
    }
    }

  3. #3

    نقل قول: مشکل در دستور select در سی شارپ و SQL

    سلام
    ممنون از وقتی که گذاشتی
    امکانش هست بیشتر توضیح بدی ؟
    من درست متوجه نشدم

  4. #4

    نقل قول: مشکل در دستور select در سی شارپ و SQL

    دوست عزیز
    برای مثال من سه تا جدول اطلاعات پایه دارم
    1 - کفپوش -> با فیلد های ID و subject
    2-نوع سقف -> با فیلدهای ID و subject
    3-نوع کابینت -> با فیلدهای ID و subject
    هر کدوم از این جداول چندین رکورد دارند
    من آی دی مورد نظرم را از هر کدوم از این جدوال گرفتم و داخل جدول ثبت سفارش ذخیره کردم
    حالا میخوام موقع نمایش سفارش داخل دیتا گریدویو بجای نمایش شماره ِآی دی عنوانی که واسشون قبلا در بخش اطلاعات پایه ذخیره کردم نمایش بده

  5. #5

    نقل قول: مشکل در دستور select در سی شارپ و SQL

    نقل قول نوشته شده توسط misagh.sys مشاهده تاپیک
    دوست عزیز
    برای مثال من سه تا جدول اطلاعات پایه دارم
    1 - کفپوش -> با فیلد های ID و subject
    2-نوع سقف -> با فیلدهای ID و subject
    3-نوع کابینت -> با فیلدهای ID و subject
    هر کدوم از این جداول چندین رکورد دارند
    من آی دی مورد نظرم را از هر کدوم از این جدوال گرفتم و داخل جدول ثبت سفارش ذخیره کردم
    حالا میخوام موقع نمایش سفارش داخل دیتا گریدویو بجای نمایش شماره ِآی دی عنوانی که واسشون قبلا در بخش اطلاعات پایه ذخیره کردم نمایش بده
    متوجه شدم. شما ابتدای اجرای برنامه تون باید مشخصات جداول پایه، سه تا جدول یا بیشتر، فرقی نمی کنه، رو بخونید و داده هاشون که میگه id فلان متناظر عنوان بهمان میشه رو در اون subjects_ فراخوانی کنید، یعنی subjects_ با این داده ها پر میشه.
    مثلا میگه ID ئه 123 متناظر هست با "کفپوش مدل فلان"
    از اون به بعد که مساله نمایش داخل DataGridVew هست، شما id که یک عدد ئه رو در ستون قرار می دهید که اینجا اگر کار اضافی انجام نمی دادید همون id عددی رو هم در ستون نشون میده.
    ولی ما چون در رخداد CellFormatting اون DataGridView دستکاری می کنیم، بجای id همون عنوان متناظرش رو از داخل subjects_ پیدا میکنه و نمایش میده. subjects_ دیکشنری ئه و برای همین سرعت جستجو کردنش بالا است.

  6. #6

    نقل قول: مشکل در دستور select در سی شارپ و SQL

    گرفتم چی شد
    فقط یه سوال دیگه اینکه Datatable را چطور پر بکنم که از چه جدولی دیتا را بخونه ؟

  7. #7

    نقل قول: مشکل در دستور select در سی شارپ و SQL

    دوستان ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

  8. #8

    نقل قول: مشکل در دستور select در سی شارپ و SQL

    نقل قول نوشته شده توسط misagh.sys مشاهده تاپیک
    گرفتم چی شد
    فقط یه سوال دیگه اینکه Datatable را چطور پر بکنم که از چه جدولی دیتا را بخونه ؟
    نمیدونم پایگاه داده تون چیه و از چی میخونید، در اغلب موارد نیازی نیست DataTable پر بشه، چون DataTable یک واسطه است و میشه بجاش از SqlDataReader استفاده کرد، مثل مثال اینجا، اما به هر حال مثلا در مورد SQL Server شما یک شیء SqlDataAdapter میسازید که یک دستور کوئری ئه SQL میخواد و یک ConnectionString که وصل بشه به پایگاه داده فلان. بعد این SqlDataAdpater تون یک متد Fill داره که با اون DataTable رو پر می کنید با داده هایی که توسط کوئری Select شدن. مثلا این پست رو ببینید. یک SqlDataAdapter میسازه و توسط اون DataTable رو Fill می کنه با داده ها.

  9. #9

    نقل قول: مشکل در دستور select در سی شارپ و SQL

    خیلی ممون دوست عزیز

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

  1. دسترسی به هر یک از فیلدهای حاصل از دستور select با EF
    نوشته شده توسط csharpprogramer88 در بخش C#‎‎
    پاسخ: 13
    آخرین پست: سه شنبه 08 مرداد 1392, 12:23 عصر
  2. بررسی یک دستور select
    نوشته شده توسط ARC در بخش T-SQL
    پاسخ: 5
    آخرین پست: یک شنبه 08 آبان 1390, 10:42 صبح
  3. اشکال در دستورات Select فارسی
    نوشته شده توسط Bahar_HS در بخش SQL Server
    پاسخ: 4
    آخرین پست: یک شنبه 28 مهر 1387, 12:55 عصر
  4. مشکل دستور select با فارسی
    نوشته شده توسط mina.net در بخش VB.NET
    پاسخ: 3
    آخرین پست: پنج شنبه 18 مهر 1387, 10:44 صبح

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

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