زنگ

کسانی هستند که این خبر را قبل از شما می خوانند.
برای دریافت مطالب تازه مشترک شوید.
پست الکترونیک
نام
نام خانوادگی
چگونه می خواهید The Bell را بخوانید
بدون اسپم

نمونه ای از ایجاد یک پایگاه داده محلی Microsoft SQL Server دراستودیو ویژوال MS

این موضوع راه حل مشکل ایجاد بانک اطلاعاتی از نوع SQL Server با استفاده از MS Visual Studio را نشان می دهد. موضوعات زیر در نظر گرفته شده است:

  • با پنجره Server Explorer در MS Visual Studio کار کنید.
  • ایجاد یک پایگاه داده محلی مانند SQL Server Database؛
  • ایجاد جداول در بانک اطلاعاتی؛
  • ویرایش ساختارهای جدول؛
  • جداول بانک اطلاعاتی به یکدیگر مرتبط می شوند
  • وارد کردن داده ها به جداول با استفاده از MS Visual Studio.

وظیفه

با استفاده از ابزارهای ویژوال استودیو MS ، یک بانک اطلاعاتی از نوع MS SQL Server به نام Education ایجاد کنید. این بانک اطلاعاتی شامل دو جدول Student و Session است. جداول توسط برخی از زمینه ها به هم پیوسته اند.

ساختار اولین جدول دانشجویی.

ساختار جدول دوم "جلسه" است.

کارایی

1. بارگیری MS Visual Studio.

2. فعال کنیدپنجره  اکسپلورر سرور

برای کار با بانکهای اطلاعاتی ، مایکروسافت یک سرور پایگاه داده مایکروسافت SQL سبک وزن ارائه می دهد. به عنوان مثال ، نسخه های مختلف Microsoft SQL Server وجود دارد: Microsoft SQL Server 2005 ، Microsoft SQL Server 2008 ، Microsoft SQL Server 2014 و نسخه های دیگر.

می توانید این نسخه ها را از وب سایت مایکروسافت www.msdn.com بارگیری کنید.

این سرور برای کار با بانکهای اطلاعاتی بسیار عالی است. این نرم افزار رایگان است و دارای رابط گرافیکی برای ایجاد و اداره بانکهای اطلاعاتی با استفاده از ابزار مدیریت SQL Server است.

اول از همه ، قبل از ایجاد بانک اطلاعاتی ، باید ابزار سرور اکسپلورر را فعال کنید. برای این کار ، در MS Visual Studio باید تماس بگیرید (شکل 1)

   مشاهده -\u003e اکسپلورر سرور

شکل. 1. با سرور اکسپلورر تماس بگیرید

پس از تماس ، پنجره سرور اکسپلورر همانطور که در شکل 2 نشان داده شده است ، نمای تقریبی خواهد داشت.

شکل. 2. پنجره سرور اکسپلورر

3. ایجاد بانک اطلاعاتی "آموزش".

برای ایجاد یک بانک اطلاعاتی جدید بر اساس ارائه دهنده داده های Microsoft SQL Server ، بر روی گره Data Connections کلیک کرده و سپس ” ایجاد پایگاه داده جدید سرور SQL ..."(شکل 3).

شکل. 3. فراخوانی فرمان ایجاد بانک اطلاعات SQL سرور

در نتیجه ، " ایجاد پایگاه داده جدید سرور SQL»(شکل 4).

پنجره (در قسمت "نام سرور") نام سرور محلی نصب شده در رایانه شما را نشان می دهد. در مورد ما ، نام "SQLEXPRESS" است.

قسمت "نام جدید بانک اطلاعات": نام پایگاه داده ایجاد شده را نشان می دهد. در مورد ما ، این نام آموزش است.

گزینه Use Windows Autentification باید بدون تغییر باقی بماند و OK را کلیک کنید.

شکل. 4- ایجاد یک پایگاه داده جدید SQL Server 2008 Express با استفاده از MS Visual Studio 2010

پس از اتمام اقدامات ، پنجره Server Explorer همانطور که در شکل 5 نشان داده شده است نگاه می کند.

sasha-pc \\ sqlexpress.Education.dbo

شکل. 5- پنجره سرور اکسپلورر بعد از افزودن بانک اطلاعاتی آموزش

4- اهداف بانک اطلاعاتی آموزش و پرورش.

اگر بانک اطلاعاتی آموزش (نشانه "+") را گسترش دهید ، می توانید لیستی از اشیاء اصلی زیر را مشاهده کنید:

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

5- ایجاد جدول دانشجویی.

در حال حاضر ، بانک اطلاعاتی آموزش کاملاً خالی است و هیچگونه اشیاء (جداول ، رویه های ذخیره شده ، نماها و غیره) را در بر نمی گیرد.

برای ایجاد جدول ، باید با منوی زمینه (راست کلیک) تماس بگیرید و دستور "اضافه کردن جدولی جدید" را انتخاب کنید (شکل 6).

شکل. 6. اضافه کردن دستور جدول جدید

گزینه دیگری برای افزودن جدول بانک اطلاعاتی با استفاده از دستورات منوی Data وجود دارد:

   داده -\u003e جدول جدید را اضافه کنید

شکل. 7. جایگزین برای اضافه کردن یک جدول جدید

در نتیجه ، پنجره اضافه کردن یک جدول باز می شود ، که شامل سه ستون است (شکل 8). در ستون اول "نام ستون" باید نام قسمت مربوط به جدول بانک اطلاعات را وارد کنید. در ستون دوم "Data Type" باید نوع داده این قسمت را وارد کنید. ستون سوم "Allow Nulls" گزینه عدم وجود داده در این قسمت را نشان می دهد.

شکل. 8- پنجره برای ایجاد یک جدول جدید

با استفاده از ویرایشگر جدول ، می توانید جدول Student را همانطور که در شکل 9 نشان داده شده است ایجاد کنید. هنگام بسته شدن ، نام جدول باید تنظیم شود.

در ویرایشگر جدول ، می توانید خصوصیات فیلد را در پنجره Column Properties تنظیم کنید. به منظور تنظیم طول رشته (nvchar) در کاراکترها ، در پنجره Column Properties خاصیت طول وجود دارد. مقدار پیش فرض برای این خاصیت 10 است.

شکل. 9. میز دانشجویی

قدم بعدی تنظیم فیلد کلیدی است. این کار با فراخوانی دستور "تنظیم کلید اصلی" از منوی زمینه قسمت Num_book انجام می شود. با استفاده از یک زمینه کلیدی ، روابط بین جداول برقرار می شود. در مورد ما ، شماره اصلی شماره کتاب ضبط است.

شکل. 10. تنظیم فیلد کلیدی

پس از تنظیم کلید اصلی ، پنجره جدول همانطور که در شکل 11 نشان داده شده است ظاهر خواهد شد.

شکل. 11. جدول دانش آموزان پس از تشکیل نهایی

حالا می توانید میز را ببندید. در پنجره ذخیره جدول ، باید نام آن را مشخص کنید - Student (شکل 12).

شکل. 12. وارد کردن نام جدول دانشجو

6. ایجاد جدول جلسه.

به دنبال مدل ایجاد جدول Student ، جدول Session ایجاد می شود.

شکل 13 ظاهر جدول جلسه بعد از تشکیل نهایی را نشان می دهد. کلید اصلی در قسمت Num_book تنظیم شده است. نام جدول توسط Session تنظیم شده است.

شکل. 13. جدول جلسه

پس از اقدامات انجام شده ، دو جدول Student و Session در پنجره Server Explorer نمایش داده می شوند.

بنابراین ، هر تعداد جداول می تواند به بانک اطلاعاتی اضافه شود.

7. ویرایش ساختار جدول.

مواقعی وجود دارد که شما نیاز به تغییر ساختار جدول پایگاه داده دارید.

برای ایجاد تغییر در جداول دیتابیس در MS Visual Studio ، ابتدا باید بردارید "جلوگیری از ذخیره تغییرات که نیاز به ایجاد مجدد جدول داردهمانطور که در شکل 14 نشان داده شده است ، در غیر این صورت ، MS Visual Studio تغییراتی را در جدول ایجاد شده قبلی مسدود می کند. پنجره گزینه های نشان داده شده در شکل 14 از دنباله زیر از منوی Tools بلند می شوند:

ابزارها -\u003e گزینه ها -\u003e ابزارهای بانک اطلاعاتی -\u003e طراحان جدول و بانک اطلاعاتی

شکل. 14. گزینه " از صرفه جویی در تغییرات که نیاز به ایجاد مجدد جدول دارند جلوگیری کنید

پس از تنظیم ، می توانید ساختار جدول را تغییر دهید. برای این کار ، از دستور "Open Table Definition" (شکل 15) از فهرست زمینه استفاده کنید ، که برای جدول انتخاب شده (راست کلیک) فراخوانی شده است.

شکل. 15. فراخوانی دستور "Open Table Definition"

این دستور در منوی Data نیز قرار دارد:

   داده ها -\u003e تعریف جدول باز

پیش از این ، جدول باید انتخاب شود.

8- برقراری روابط بین جداول.

مطابق با شرط مشکل ، جداول توسط قسمت Num_book به هم پیوسته اند.

برای ایجاد رابطه بین جداول ، ابتدا باید (شکل 16):

  • نمودار پایگاه داده را انتخاب کنید
  • دستور Add New Diagram را از فهرست زمینه (یا از فهرست داده) انتخاب کنید.

شکل. 16. تماس با فرمان افزودن نمودار جدید

در نتیجه ، پنجره اضافه کردن یک نمودار جدید اضافه کردن جدول اضافه خواهد شد (شکل 17). در این پنجره ، باید دو جدول Session و Student را به ترتیب انتخاب کنید و بر روی دکمه Add کلیک کنید.

شکل. 17. پنجره اضافه کردن جداول به نمودار

شکل. 18- جداول دانشجویی و جلسه بعد از افزودن آنها به نمودار

برای شروع برقراری رابطه بین جداول ، باید روی قسمت Num_book جدول Student کلیک کنید ، و سپس (بدون اینکه دکمه ماوس را آزاد کنید) آن را به قسمت Num_book جدول Session بکشید.

در نتیجه ، دو پنجره به صورت متوالی باز خواهد شد: جداول و ستون ها (شکل 19) و روابط کلید خارجی (شکل 20) ، که در آن شما باید همه چیز را همانطور که هست بگذارید و انتخاب خود را با تایید تأیید کنید.

در پنجره جداول و ستون ها ، نام رابطه (FK_Session_Student) و نام پدر و مادر (دانشجو) و جدول فرزند مشخص شده است.

شکل. 19. پنجره جداول و ستون ها

شکل. 20. پنجره تنظیم ویژگی های رابطه

پس از اقدامات انجام شده ، رابطه بین جداول برقرار می شود (شکل 21).

شکل. 21. رابطه بین جداول دانشجویی و جلسه

صرفه جویی در نمودار همان صرفه جویی در جدول است. نام نمودار باید به صلاح شما انتخاب شود (برای مثال ، نمودار 1).

پس از مشخص کردن نام نمودار ، پنجره ذخیره باز می شود ، که در آن شما باید انتخاب خود را تأیید کنید (شکل 22).

شکل. 22. تأیید تغییرات صرفه جویی در جداول

9- وارد کردن داده ها به جداول.

Microsoft Visual Studio اجازه می دهد تا داده ها را مستقیماً در جداول بانک اطلاعاتی وارد کنید.

در مورد ما ، هنگام برقراری ارتباط (شکل 19) ، جدول دانشجویی به عنوان اصلی (جدول کلید اصلی) انتخاب شد. بنابراین ، ابتدا باید داده ها را وارد سلول های این جدول خاص کنید. اگر ابتدا سعی کنید داده ها را وارد جدول Session کنید ، سیستم این پیام را با پیام مربوطه مسدود می کند.

برای تماس با حالت ورود داده ها در جدول Student ، باید از منوی زمینه (کلیک راست) یا از منوی Data (دستورالعمل راست) یا از منوی Data (دستورالعمل Show Data Data) تماس بگیرید.

شکل. 23. نمایش فرمان داده جدول

پنجره ای باز خواهد شد که در آن شما باید داده های ورودی را وارد کنید (شکل 24).

شکل. 24. وارد کردن داده ها در جدول Student

پس از وارد کردن داده ها در جدول Student ، باید داده ها را در جدول Session وارد کنید.

هنگام وارد کردن داده ها به قسمت Num_book در جدول Session ، باید دقیقاً همان مقادیری را که در قسمت Num_book در جدول Student وارد شده است وارد کنید (زیرا این زمینه ها به هم پیوسته اند).

به عنوان مثال ، اگر مقادیر را در قسمت Num_book در جدول Student وارد کنید “101”, “102”, “103”   (شکل 24 را ببینید) ، سپس این مقادیر باید در قسمت Num_book جدول جلسه وارد شوند. اگر سعی کنید مقدار دیگری را وارد کنید ، سیستم تقریباً پنجره زیر را نشان می دهد (شکل 25).

شکل. 25. جداول مربوط به پیام خطای ورود داده ها Student and Session

جدول جلسه با داده های وارد شده در شکل 26 نشان داده شده است.

در پنجره Server Explorer ، جایی که جداول بانک اطلاعاتی در Microsoft SQL Server به صورت درخت ارائه شده است (شکل 4.1 را ببینید.) برای هر جدول ، می توانید با کلیک بر روی دکمه Show Table Data ، پنجره را باز کنید. در این پنجره است که می توانید داده های جدول را ویرایش کنید. این پنجره ویرایش تقریباً مطابق شکل (شکل) نشان داده می شود. 4.2. تقریباً ، زیرا حجم کامل به دلیل تعداد زیاد ستون در تصویر گنجانده نشده است.

      1. اجرای نقشه برداری پایگاه داده

نقشه برداری از پایگاه داده (مؤلفه DataSet) به منظور حذف تماس های غیر ضروری به پایگاه داده و سرور ضروری است. این یک ویژگی بسیار مهم است ، زیرا اگر بسیاری از کاربران با بانک اطلاعاتی کار کنند ، بار روی سرور می تواند بسیار زیاد باشد - تعداد درخواست ها چند برابر بیشتر است ، که این امر باعث کندی اجرای درخواست ها می شود.

بنابراین ، به دلیل DataSet ، رایانه مشتری پایگاه داده ای را که در آن کار می کند ، نمایش می دهد. پس از اتمام ، پایگاه داده های مشتری و سرور همزمان سازی می شوند (یا به اصطلاح ، تغییراتی که در بانک اطلاعات مشتری انجام می شود در بانک اطلاعات سرور انجام می شود)

نقشه برداری از بانک اطلاعاتی ما در MS Visual Studio 2005 به شرح زیر است:

کلیه داده های عددی از نوع Int32 است و رشته آن String است. اندازه داده های رشته مطابق با داده های موجود در مدل فیزیکی پایگاه داده است.

تصویر نشان می دهد که در هر جدول جدول TableAdapter نیز وجود دارد. اینها نوعی پل برای اتصال DataSet و منبع داده است. روشهایی مانند Fill و GetData وجود دارد ()

این روش برای پر کردن جدول با داده های لازم از منبع (پرونده پایگاه داده) طراحی شده است

    GetData () روش

طراحی شده برای گرفتن داده از جدول نقشه برداری.

    1. اجرای نرم افزار

ویژگی اصلی در اجرای نرم افزار این واقعیت است که کلیه کلاس های مسئول ویرایش جداول بانک اطلاعاتی از یک کلاس پایه به ارث می رسند ، که این امر اجرای آن را راحت می کند. روش های این کلاس پایه در بالا توضیح داده شده است. روشهای مجازی کلاس پایه باید در کلاس نزول همپوشانی داشته باشند. تمام این روشها به شما امکان می دهد پارامترهای زیر را برای فرزندان تغییر دهید: نام عنوان فرم ، پر کردن و ذخیره جدول پایگاه داده مورد نظر (یک کلاس فرزندان فقط با یک جدول کار می کند ، به معنای ویرایش داده ها ؛ اما در هنگام نمایش داده ها به کاربر ، می توانید از چندین جدول بانک اطلاعاتی استفاده کنید) به منظور نمایش داده ها به صورت کاربر پسند).

      1. رابط برنامه

پنجره اصلی یک برنامه MDI است که دارای منوی زیر است:

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

گزارشی از بار معلمان نیز با کلیک بر روی مورد منوی مربوطه "گزارش" ایجاد می شود.

به عنوان یکی دیگر از ویژگی های نرم افزار ، یک مورد از "Console" وجود دارد که به شما امکان می دهد نمایش داده شد SQL را به پایگاه داده وارد شده توسط کاربر انجام دهید و نتیجه را در یک جدول (مؤلفه DataTable) نمایش دهید. برای این کار ، البته ، شما باید نام جداول و فیلدها را بدانید ، و اساساً برای راحتی اجرای نرم افزار ایجاد شده است ، اما سایر کاربران "اختصاصی" نیز می توانند از آن استفاده کنند.

در این مقاله ، شما می دانید که LINQ چیست و چگونگی استفاده از آن برای لیست های پرس و جو.

LINQ چیست؟ Language Integrated Query (LINQ) زبانی از نمایش داده شدگان یا یک پروژه ترکیبی از مایکروسافت برای اضافه کردن یک زبان ترکیبی از query مشابه SQL است. تعریف خاصی ، با استفاده از این ابزار می توانید نسبتاً به راحتی پرس و جوها را در جداول و لیست داده ها ایجاد کنید ، لزوماً یک بانک اطلاعاتی نیست.

نمونه های مایکروسافت یک جزئیات کوچک اما مهم را از دست نمی دهد. برای کار با مجموعه داده ها ، باید از ساختار DataContext استفاده کنیم ، تعریف آن را می توان با استفاده از SPMetal.exe برای لیست یا کتابخانه موجود در سرور Sharepoint به دست آورد. به عبارت دیگر ، ما ابتدا باید این نوع داده را تعریف کنیم و سپس یک پرس و جو ایجاد کنیم من عموماً توصیه می کنم از یک ابزار ویژه برای کار در MVS استفاده کنید: Imtech Get SPMetal Definition Extension.

برای کار ما به لیست نیاز داریم. ما از یک لیست ساده - "لیست دلخواه" استفاده می کنیم. نام - "جذابیت ساده"؛ قسمت های پیش فرض: شماره ، نام.

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

بعد ، با استفاده از SPMetal.exe یا افزونه ای برای استودیو ، فایلی بنام کلاس "SimpleClass.cs" ایجاد کنید. پیوندی به کتابخانه Microsoft.Sharepoint.Linq اضافه کنید. برای اطلاعات بیشتر ، به MSDN مراجعه کنید.

یک عملکرد Render و my_mess ایجاد کنید. در آخرین عملکرد ، ما داده هایی را برای نمایش تولید می کنیم.

// اضافه بار عملکرد
محافظت در برابر لغو رأی منع ارائه شده (نویسنده HtmlTextWriter)
{
پایه .Render (نویسنده)؛
  my_mess (نویسنده)؛
}

// عملکرد ما برای کار با یک لیست
public void my_mess (نویسنده HtmlTextWriter)
{
// ایجاد زمینه
  dataContext data \u003d DataContext جدید ("http: // localhost")؛
// لینک آن را به لیست مربوطه در سایت در ریشه مرتبط کنید
  فهرست افراد<Элемент>  Simple_Message \u003d data.GetList<Элемент>("جذابیت ساده");
// درخواست را اجرا کنید - کلیه خطوط را از لیست "تماس ساده" انتخاب کنید
var query \u003d از ظروف سرباز یا مسافر در Simple_Message
ظروف سرباز یا مسافر را انتخاب کنید.
// نمایش داده ها از نتیجه پرس و جو
foreach (var elem در پرس و جو)
{
  نویسنده.WriteLine ( "مورد لیست:"  + elem. name. ToString ())؛
  نویسنده.WriteBreak ()؛
}

}

ما پروژه را کامپایل می کنیم و آن را به صفحه اضافه می کنیم. در نتیجه کلیه خطوط موجود در لیست نمایش داده می شوند.

ادامه بعداً (مقاله به پایان رسید) ...

حاشیه نویسی: بعد از خواندن این سخنرانی می توانید: با استفاده از SQL Server Management Query Designer Designery ، ایجاد اطلاعات بانک اطلاعاتی از جداول سیستم دیتابیس ، ایجاد داده های ساده به صورت پویا بر اساس ورودی کاربر ، ورودی قالب کاربر و فیلتر پرس و جوهای پیچیده پویا ، ایجاد تجزیه و تحلیل و داده ها را برای استفاده در فیلتر مجدداً اصلاح کنید ، از پایگاه داده در برابر حملات مانند "SQL-injection" محافظت کنید ، از روش sp_executeSql برای انتقال درخواست استفاده کنید

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

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

رابط کاربری برای ایجاد نمایش داده شد

SQL Server Management Studio شامل یک رابط کاربری پیچیده برای نمایش داده شد. بیایید این رابط را بررسی کنیم تا ایده ای در مورد چگونگی ایجاد پویا از نمایش داده ها داشته باشید. برنامه شما به همه چیز احتیاج نخواهد داشت کنترل می کندارائه شده توسط SQL Server Management Studio. در واقع ، شما باید به دقت چگونگی محدود کردن انتخاب های کاربران را با دقت در نظر بگیرید.

با استفاده از SQL Server Management Studio Query Designer یک پرس و جو ایجاد کنید

بازیابی اطلاعات جدول پایگاه داده

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

برنامه INFORMATION_SCHEMA

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

INFORMATION_SCHEMA با استاندارد ANSI مطابقت دارد ، که برای استخراج اطلاعات از هر موتور پایگاه داده سازگار با ANSI طراحی شده است. در SQL Server ، INFORMATION_SCHEMA از مجموعه ای از نماها تشکیل شده است که جداول بانک اطلاعاتی sys * شامل اطلاعات مربوط به ساختار بانک اطلاعات است. می توانید مستقیماً مانند هر جداول بانک اطلاعاتی این جداول را پرس و جو کنید. اما ، در بیشتر موارد ، برای استخراج اطلاعات از جداول * sys ، بهتر است از نماهای طرحواره INFORMATION_SCHEMA استفاده کنید.

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

در اینجا کد اصلی T-SQL است که برای بازیابی اطلاعات در مورد ستون های موجود در جدول استفاده می شود:

لطفاً توجه داشته باشید که برای دریافت طرحواره جدول ، قسمت TABLE_SCHEMA را انتخاب کنید. این ممکن است برای ایجاد سؤالات مشابه در آینده مهم باشد. برای آزمایش روش های توصیف شده در این فصل ، یک پروژه جدید در ویژوال استودیو ایجاد کنید.

یک پروژه جدید ویژوال استودیو ایجاد کنید
  1. از منوی Start گزینه All Programs ، Microsoft Visual Studiio 2005 ، Microsoft Visual Studio 2005 را انتخاب کنید.
  2. از منوی ویژوال استودیو ، پرونده ، جدید ، پروژه را انتخاب کنید.
  3. در پنل Project Types ، گره ویژوال بیسیک را گسترش داده و در پنل Templates الگوی برنامه را انتخاب کنید. نام Project7 را به عنوان پروژه بدهید و OK را بزنید.
  4. برنامه این مثال را می توانید در پرونده های نمونه در پوشه \\ Chapter7 \\ DynQuery پیدا کنید. می توانید کد مربوط به مراحل زیر را از پرونده Form1.vb برش داده و جایگذاری کنید.
بازیابی لیستی از جداول و نمایش ها

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

SELECT TABLE_SCHEMA ، TABLE_NAME ، TABLE_TYPE از اطلاعات INFORMATION_SCHEMA.TABLES

در برنامه کاربردی می توانید از این پرس و جو به شرح زیر استفاده کنید.

لیستی از جداول دریافت کنید

کد Visual Basic بالا یک شیء SqlCommand را با نام رشته SQL به اجرا می گذارد و سپس شی SqlCommand را اجرا می کند. این ساده ترین روش برای اجرای جمله T-SQL از داخل یک برنامه است.

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

بعد از انتخاب کاربر جدول ، می توانید لیست ستون های این جدول را با استفاده از همان روش بازیابی کنید و از ورودی کاربر به عنوان نام جدول در پرس و جو استفاده کنید. برای این کار یک جایگزین را در رشته پرس و جو وارد کنید و سپس یک جایگزین را با یک تماس String.Format جایگزین کنید. در کد زیر ، جایگزین در رشته پرس و جو (0) است.

لیستی از ستون ها را بدست آورید
  1. روش RetrieveColumns زیر را به کد زیر روش RetrieveTables اضافه کنید:

    Sub RetrieveColumns (ByVal TableName as String) MyConnection New SqlClient.SqlConnection (_ "منبع داده \u003d. \\ SQLExpress؛" & _ "فهرست اولیه \u003d AdventureWorks؛ Trusted_Connection \u003d بله؛") Dim sqlStr As String sqlStr \u003d "SELECT ، COLUMN_NAME ، "+ _" ORDINAL_POSITION، DATA_TYPE "+ _" FROM INFORMATION_SCHEMA.COLUMNS "+ _" WHERE (TABLE_NAME \u003d "(0)") "Table DimColumns as New DataTable Dim da As New SqlClient.SqlData (sqlStr، TableName)، MyConnection) da.Fill (tableColumns) برای i as Integer \u003d 0 به TableColumns.Rows.Count - 1 با tableColumns.Rows.Item (i) Console.WriteLine ("(0) (1) (2) ) "، _ .Item (1) ، .Item (2) ، .Item (3)) با پایان بعدی بعدی

  2. در روش Form1_Load ، پس از انجام مراحل RetrieveTables ، تماس با روش RetrieveColumns را اضافه کنید:

زنگ

کسانی هستند که این خبر را قبل از شما می خوانند.
برای دریافت مطالب تازه مشترک شوید.
پست الکترونیک
نام
نام خانوادگی
چگونه می خواهید The Bell را بخوانید
بدون اسپم