ممنون از توضیحات کامل شما
شاید من هنوز با این برنامه نویسی شی گرا مچ نشدم،ا1-گه میشه این قسمت
MyDBDataSetTableAdapters.MyTBTableAdapter adapter
= new MyDBDataSetTableAdapters.MyTBTableAdapter();
MyDBDataSet.MyTBDataTable table
= new MyDBDataSet.MyTBDataTable();
adapter.Fill(table);
رو یه توضیحی بدید.
همانطور که قبلا اشاره کردم، اگر نام بانک اطلاعاتی MyDB باشد، MyDBDataSetTableAdapters.MyTBTableAdapter
کلاس آداپتور آن است، ما یک شیء با نام adapter از همین کلاس تعریف می کنیم :
کد:
MyDBDataSetTableAdapters.MyTBTableAdapter adapter
متغیر adapter بایستی مقدار دهی شود، پس یک شیء از کلاس مربوطه را با new می سازیم :
کد:
= new MyDBDataSetTableAdapters.MyTBTableAdapter();
اکنون adapter یک آداپتور آماده برای جدول MyDB است که به بانک اطلاعاتی دسترسی دارد و می تواند یک
جدول را بخواند و یا بنویسد.
اما هنوز ما متغیری نداریم که جدول در آن خوانده و یا در بانک اطلاعاتی نوشته شود، پس باید آنرا تعریف کنیم.
همانطور که قبلا اشاره کردم MyDBDataSet.MyTBDataTable کلاس جدول MyTB است، ما یک شیء با نام
table را از این کلاس تعریف می کنیم :
کد:
MyDBDataSet.MyTBDataTable table
متغیر table بایستی مقدار دهی شود، پس یک شیء از کلاس مربوطه را با new می سازیم :
کد:
= new MyDBDataSet.MyTBDataTable();
اکنون ما در table یک شیء از جدول MyTB را داریم، اما جدول خالی است، یعنی هیچ سطری در آن وجود ندارد.
چرا؟ چون هنوز به آداپتور اش رجوع نکرده ایم و از بانک اطلاعاتی چیزی در آن نخوانده ایم. اکنون وقت آن رسیده
که با کمک آداپتور محتویات جدول را از بانک اطلاعاتی بخوانیم و در متغیر table مان قرار دهیم :
2-دستورات عملیات ذخیره و بازیابی اطلاعات از دیتابیس(در اینجا) به چه زبانی است؟
مثلا:
newRow.FirstName
با زبان های #C و Visual Basic که سازگار است، یعنی در این قسمت از کد هیچ فرقی بین زبان های
مورد اشاره نیست و کد شان یکسان خواهد بود.
در زبان ++C بجای نقطه از <- استفاده میشه، یعنی :
DataRow[] rows = table.Select("FirstName = 'ali'");
در اینجا []datarow چیه که یه نمونه ازش ساختید
اصلا نحوهی ساخت نمونه چیست؟
کلا این خط بالا رو توضیح بدبد.
جدول کلا یک تعداد مشخصی سطر دارد، یعنی Row.
در Net. هر سطر از یک جدول یا کلا Query یک DataRow است، مثلا اگر جدول MyTB چهار سطر داشته باشد،
در حقیقت چهار DataRow دارد که بصورت یک آرایه تک بعدی یعنی []DataRow تعریف می شود.
من دستور Select که در SQL تعریف شده و حتما با آن آشنا هستید رو اجرا کرده ام و نتیجه رو بصورت یک آرایه
از DataRow در متغیر rows تحویل گرفته ام. شرط Select ام هم که مشخص است، فقط سطر هایی را
می خواهم که فیلد FirstName شان برابر با ali است. نتیجه هر چند سطر که باشد در آرایه rows قرار می گیرد.
آیا برای sql هم روش همین هست یا خیر؟
اگه این طوری نیست یه مثال ساده بزنید(آسون) ممنونت میشم.
کلا اساس کار با بانک اطلاعاتی در این مثال همان SQL است، آن دستور Select هم که من نوشتم دستور SQL است.
3-شما در این مثال فرض رو بر این گرفته اید که جدول آماده شده،مراحل ساخت جدول و نحوهی اتصال اونو VC# ؟
4-نمیشه یه مثال ساده رو با سورسش بزارید؟(لطفا)
5- سلامتی شما
منظورتون رو از جدول آماده متوجه نمیشم، شما بانک اطلاعاتی رو قاعدتا یا با SQL Server طراحی می کنید
و یا Microsoft Access و یا هر ابزار مشابهی. عموما جدول رو هم با همین برنامه ها می سازید که کلا بحث
کار با اون ابزار ها جداست و ربطی به مباحث برنامه نویسی نداره. اما نحوه اتصالشون رو کلی توضیح دادم :
قبل از هر چیز بانک اطلاعاتی رو به پروژه تون متصل کنید (در منوی Data، گزینه Add New Data Source) تا دسترسی
به جدول داده ها میسر شود. حتما Table های مورد نظرتان را در پس از معرفی کردن فایل بانک اطلاعاتی تیک بزنید.
جزئیات این روند مربوط به نوع بانک بانک اطلاعاتی، رمز عبور و جداول داخلشه، مورد ثابتی نیست که توضیح اش
رو بخواهید. اصلا کار سختی نیست، نوع بانک اطلاعاتی رو مشخص می کنید، مسیر فایل بانک اطلاعاتی رو
مشخص می کنید، اگه رمز عبوری داشته باشه، اون رو هم مشخص می کنید، در نهایت هم جدولی که می خواهید
در برنامه با اونها کار کنید رو هم تیک می زنید، فقط همین. بقیه کار ها رو خود ویژوال استدیو انجام میده
و کلاس های مورد نظر رو می سازه.
اما اگه می خواهید صرفا با کد نویسی جدولی بسازید که قبلا در بانک اطلاعاتی وجود نداشته، قصد انجام
کاری رو دارید که در هر 100 پروژه بانک اطلاعاتی شاید یکی دو مورد اینچنین کاری رو انجام بدهند. هدفتون از اینکه
قبلا جدول مورد نظر رو ایجاد نمی کنید چیه؟
به نظرتون این یک کار از ساختن جدول با Microsoft Access یا Microsoft SQL Server و استفاده از آن در برنامه
ساده تر است؟ کار تون خیلی سخت میشه، چون دیگه ویژوال استدیو نمی تونه به راحت کردن کار با جدول تون
کمکی بکنه. بایستی از دستورات صریح SQL کمک بگیرید ، در ضمن باید با نحوه attach کردن بانک اطلاعاتی در
SQL Server و تنظیم کردن connection آشنا باشید. اگه با توجه به ساختار پروژه مجبور به انجام اینکار نیستید
توصیه نمی کنم که خودتون رو به دردسر بندازید. بیشترین مزیت دسترسی به بانک اطلاعاتی در ویژوال استدیو
در همین سادگی کار با جداولی است که قبلا اطلاعاتش رو در اختیار ویژوال استدیو قرار می دهید.
هر صورت یک نگاهی به این لینک بندازید :
Create Table in SQL Server 2005 Using C# and SQL Server Management
در ضمن کد کامل یک پروژه نمونه رو پیوست کردم.