PDA

View Full Version : سوال: دیتابایند از SQL به وسیله XML



dr.pantagon
یک شنبه 15 فروردین 1389, 11:17 صبح
سلام

من می خواستم بدونم چه جوری می تونم اطلاعاتی که در دیتابیس دارم ( دیتابیس sql هست ) رو توسط XML بخونم و در Datagrid بایند کنم.
تو سایت سرچ کردم ولی چیزی که به جواب برسم ندیدم متشکر می شم کسی توضیح بده یا نمونه بزاره

mehdi.mousavi
یک شنبه 15 فروردین 1389, 11:43 صبح
سلام
من می خواستم بدونم چه جوری می تونم اطلاعاتی که در دیتابیس دارم ( دیتابیس sql هست ) رو توسط XML بخونم و در Datagrid بایند کنم. تو سایت سرچ کردم ولی چیزی که به جواب برسم ندیدم متشکر می شم کسی توضیح بده یا نمونه بزاره

سلام.
میشه توضیح بدید که چرا اطلاعان رو می خواهید به XML تبدیل کنید، بعد اونها رو به Grid بایند کنید؟

شما می تونید اطلاعات رو بصورت XML از بانک با دستور SELECT بگیرید و به هدفتون برسید. از اونجاییکه پاسخ به این سوال، ربطی به C# پیدا نمیکنه، لطفا سوال مزبور رو (در صورت اصرار بر انجام اینکار) در بخش SQL Server مطرح کنید.

روش دیگه، گرفتن اطلاعات از بانک بصورت خام و تبدیل اونها به XML در Business Layer هستش. برای اینکار، میتونید با LINQ، XmlDocument، XML Serializer و چند روش دیگه این تبدیل رو انجام بدید. اما حقیقتا متوجه نمیشم که چرا داده ها رو میخواهید قبل از Bind کردن به XML تبدیل کنید.

موفق باشید.

dr.pantagon
یک شنبه 15 فروردین 1389, 11:50 صبح
من شنیده بودم سرعت خوندن اطلاعات از فایل XML بیشتر هست و هزینه زمانی کمتری داره توی سرچ هایی هم که کردم به همچین موضوعی رسیدم ولی انگار منظور چیزه دیگه ای بوده و من اشتباه متوجه شدم !!!
اگر کمی در باره این موارد توضیح دهید خیلی ممنون می شم

mehdi.mousavi
یک شنبه 15 فروردین 1389, 12:26 عصر
من شنیده بودم سرعت خوندن اطلاعات از فایل XML بیشتر هست و هزینه زمانی کمتری داره توی سرچ هایی هم که کردم به همچین موضوعی رسیدم. ولی انگار منظور چیزه دیگه ای بوده و من اشتباه متوجه شدم !!! اگر کمی در باره این موارد توضیح دهید خیلی ممنون می شم

سلام.
درسته. اما باید ببینیم نسبت به چی داریم این سرعت رو میسنجیم. قطعا خوندن یک فایل web.config (که XML هستش) از روی Local Hard Disc بسیار بسیار سریعتر از واکشی همون اطلاعات از RDBMS هستش. اما این بدین معنی نیستش که اگر اطلاعات از SQL Server بصورت XML واکشی بکشه، Performance ما افزایش پیدا خواهد کرد. اگر در مورد Database Engine هایی صحبت کنیم که بصورت Native از XML پشتیبانی میکنن، بعبارت دیگه، داده های بانک رو بصورت XML ذخیره میکنن، اونوقت بله. مطمئن هستیم که با اطلاعات ذخیره شده بصورت XML برخورد کنیم، قطعا سرعت افزایش پیدا خواهد کرد. Tamino یکی از این جور Database هاست.

اما در کل، XML رو به چشم Format ای برای نقل و انتقال داده ها ببینید. من با بسیاری از افراد برخورد کردم که بر این گمانن که اگر داده های خودشون رو در فایل XML ذخیره کنن و از RDBMS ها استفاده نکنن، علاوه بر راحتی کار، به کارایی بهتر نیز میرسن. در صورتیکه این اصلا صحت نداره. اونها فکر دسترسی همزمان به فایل توسط چند کاربر، Indexing، و تقریبا هیچیک از مسائلی که در RDBMS ها به اونها پاسخ داده شده رو نمیکنن...

بنابراین، شما بهتره داده ها رو بصورت List از Custom Object ها از بانک دریافت کنید و سپس اونو مستقیما به کنترل خودتون Bind کنید.

موفق باشید.

dr.pantagon
یک شنبه 15 فروردین 1389, 13:42 عصر
جالب و پرمعنی بود من هم همین نظر رو دارم ولی خوب یکی از دوست پیشنهاد داد گفتم یک سرچ یا گفتگو با اهل فن انجام بدم خیلی بهتر .

متشکر