دستيابی به بانک اطلاعاتی Access با استفاده از VB.NET


در اين مقاله قصد داريمبه نحوه  بازيابی و نمايش اطلاعات موجود در يک بانک اطلاعاتی Access اشاره نمائيم . هدف از مقاله فوق ، پرداختن به تمامی رويکردهای موجود در اين زمينه نبوده و صرفا" به معرفی يکی از گزينه های موجود در اين زمينه اشاره خواهد شد. در اين راستا از تکنولوژی های ASP.NET ، ADO.NET و VB.NET استفاده خواهد شد . از کلاس های  OleDbConnection، OleDbCommandو OleDbDataReader  مربوط به  ADO.NET  بمنظور انجام عمليات لازم در ارتباط با بانک اطلاعاتی ، از ASP.NET بمنظور ايجاد فرم وب و ارائه داده با استفاده از کنترل سرويس دهنده Table و از زبان VB.NET بمنظور نوشتن دستورالعمل های مورد نظر استفاده می گردد .
در ابتدا لازم است با سه کلاس
ADO.NET که در ادامه از آنان استفاده خواهد شد ، بيشتر آشنا شويم :

·         کلاس OleDbConnection . شی فوق ، يک اتصال منحصر بفرد با يک منبع داده را  ايجاد می نمايد. در رابطه با يک بانک اطلاعاتی سرويس گيرنده / سرويس دهنده ، اين امر معادل يک اتصال شبکه به سرويس دهنده است . با توجه به قابليت های حمايت شده توسط native OLE DB Provider ، برخی از متدها و يا خصلت ها مربوط به شی OleDbConnection ممکن است در دسترس و قابل استفاده نباشد . زمانيکه نمونه ای  از OleDbConnection ايجاد می گردد ، تمامی خصلت های مربوطه ، مقدار اوليه خود را دارا خواهند بود . پس از اتمام عمليات موردنظر در ارتباط با بانک اطلاعاتی ،  می بايست با فراخوانی Close و يا Dispose اقدام به  غير فعال نمودن  اتصال ايجاد شده با بانک اطلاعاتی مربوطه نمود.

·         کلاس OleDbCommand .  يک عبارت SQL و يا Stored procedure را بمنظور اجراء در رابطه با يک منبع داده ارائه می نمايد. کلاس فوق از متدهای زير بمنظور اجرای دستورات در رابطه با يک منبع داده استفاده می نمايد.
 
ExecuteReader  . متد فوق ، دستوراتی را اجراء می نمايد که خروجی آنان شامل سطرهائی خواهد بود.
 
ExecuteNonQuery . باعث اجرای دستوراتی نظير SQLINSERT,DELETE,UPDATE و SET خواهد شد .
 
ExecuteScalar  . بازيابی صرفا" يک مقدار از يک بانک اطلاعاتی

·         کلاس OleDbDataReader . متد فوق ، امکان خواندن سطرهائی از داده موجود در يک منبع داده را فراهم می نمايد( فقط بسمت جلو)  . بمنظور ايجاد يک OleDbDataReader ، می بايست متد ExecuteReader مربوط به شی OleDbCommand فراخوانده شود. ماداميکه OleDbDataReader در حال استفاده است (اتصال مرتبط OleDbConnection ) ، عمليات ديگری را در ارتباط با OleDbConnection  نمی توان انجام داد .

امکانات مورد نياز برای دنبال نمودن اين مقاله و اجرای نمونه مثالی که در ادامه بررسی می گردد ، به امکانات زير نياز خواهد بود :

  • نصب يکی از نسخه های ويندوز 2000 و يا نسخه ويندوز 2003
  • نصب IIS 
  •  نصب فريمورک دات نت نسخه 1.0 ,يا نسخه 1.1
  • يک بانک اطلاعاتی نمونه اکسس نظير Northwind

ايجاد يک برنامه وب ASP.NET با استفاده از VB.NETبمنظور ايجاد يک برنامه وب ASP.NET با استفاده از VB.NET مراحل زير را دنبال می نمائيم :

  •  اجرای برنامه ويژوال استوديو دات نت
  • از طريق منوی File ، گزينه New و در ادامه Project را انتخاب نمائيد .
  •  در جعبه محاوره ای New Project ، در بخش Project Types گزينه Visual Bacic Projects را انتخاب ( کليک ) و در ادامه ASP.NET Web Application را انتخاب نمائيد .  
  •  در فيلد Location ، بجای نام پيش فرض #WebApplication ، نام TestAccessDB را انتخاب نمائيد . در صورتيکه از يک سرويس دهنده محلی استفاده میگردد ، می توان  نام سرويس دهنده را http://localhost در نظر گرفت . بدين ترتيب در فيلد Location ، آدرس مربوطه بصورت زير نشان داده خواهد شد : http://localhost/TestAccessDB

 

ايجاد يک فرم وب نمونه  در نمونه کد نوشته شده از کنترل سرويس دهنده Table مربوط به ASP.NET استفاده شده که بصورت پويا يک نمايش ساده از داده بازيابی شده را نشان خواهد داد. ASP.NET ، مجموعه متنوعی از کنترل های انعطاف پذير را ارائه که می توان از آنان با توجه به رويکردهای متفاوت در رابطه با نمايش داده استفاده نمود. بمنظور ايجاد يک فرم وب در پروژه ايجاد شده در مرحله قبل ، مراحل زير را دنبال می نمائيم :

·         اضافه نمودن يک فرم جديد با نام DataSample.aspx  به برنامه وب ASP.NET در ويژوال استوديو دات نت . بمنظور انجام خواسته فوق ، دو مرحله زير را دنبال می نمائيم :
مرحله يک : در
SolutionExplorer ، بر روی گره Project کليک سمت راست نموده و گزينه Add  و در ادامه گزينه Add WebForm انتخاب گردد.
مرحله دو : درفيلد
Name ، نام DataSample.aspx را درج و در ادامه گزينه Open انتخاب گردد .

·         از طريق Toolbox مربوط به Web Forms Tab ، يک Table ASP.NET Server Control را انتخاب ( Drag ) و بر روی صفحه aspx . مستقر نمائيد ( در حالت Desgin view ) .

·         در Properties نام ID را به DisplayTable تغيير دهيد .

·         در Solution Explorer ، بر روی صفحه aspx . ، کليک سمت راست نموده و گزينه View Code را انتخاب نمائيد .

·          مرجع namespace زير را در بالاترين قسمت فايل کلاس code-behind وارد نمائيد .

 

Imports System.Data.OleDb

·         کد زير را در ارتباط با رويداد  Page_load در نظر می گيريم :

Page_Load Event handler

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

استفاده از يک متغير رشته ای بمنظور ذخيره سازی Connectionstring'

  Dim connectString As String = "Provider=Microsoft.Jet.OLEDB.4.0;" &_
  "Data Source=C:\MyDB\NWIND.MDB"

ايجاد يک شی OleDbConnection و ارسال مقدار متغير ConnectionString'

  Dim cn As OleDbConnection = New OleDbConnection(connectString)

فعال نمودن Connection'

  cn.Open()

استفاده از يک متغير بمنظور ذخيره عبارت SQL'

  Dim selectString As String = "SELECT CustomerID, ContactName, Phone FROM Customers"

ايجاد يک شی OledbCommand'در اين خط متغير عبارت SQL و شی OleDbConnection ، ارسال می گردد '

  Dim cmd As OleDbCommand = New OleDbCommand(selectString, cn)

ارسال CommandText به Connection و ايجاد يک OleDbDataReader'OleDbDataReader  از نوع " فقط بسمت جلو " خواهد بود'

  Dim reader As OleDbDataReader = cmd.ExecuteReader()

تنظيم عرض جدول '

  DisplayTable.Width = Unit.Percentage(90.0)

ايجاد يک سطر جديد برای اضافه نمودن عنوان جدول'

  Dim tableHeading As TableRow = New TableRow()

ايجاد و اضافه نمودن سلول های  شامل ستون Customer ID  '

  Dim customerIDHeading As TableHeaderCell = New TableHeaderCell()
  customerIDHeading.Text = "Customer ID"
  customerIDHeading.HorizontalAlign = HorizontalAlign.Left
  tableHeading.Cells.Add(customerIDHeading)

ايجاد و اضافه نمودن سلول های  شامل ستون Contact Name   '

   Dim contactNameHeading As TableHeaderCell = New TableHeaderCell()
   contactNameHeading.Text = "Contact Name"
   contactNameHeading.HorizontalAlign = HorizontalAlign.Left
   tableHeading.Cells.Add(contactNameHeading)

ايجاد و اضافه نمودن سلول های  شامل ستون Phone   '

    Dim phoneHeading As TableHeaderCell = New TableHeaderCell()
    phoneHeading.Text = "Phone"
    phoneHeading.HorizontalAlign = HorizontalAlign.Left
    tableHeading.Cells.Add(phoneHeading)

    DisplayTable.Rows.Add(tableHeading)

تکرار در بين داده انتخابی نتايج و افزودن داده برای هر يک از ستون های مورد نظر در جدول '

    While(reader.Read())
       Dim detailsRow As TableRow = New TableRow()
       Dim customerIDCell As TableCell = New TableCell()
       customerIDCell.Text = reader("CustomerID").ToString()
       detailsRow.Cells.Add(customerIDCell)
       Dim contactNameCell As TableCell = New TableCell()
       contactNameCell.Text = reader("ContactName").ToString()
       detailsRow.Cells.Add(contactNameCell)
       Dim phoneCell As TableCell = New TableCell()
       phoneCell.Text = reader("Phone").ToString()
       detailsRow.Cells.Add(phoneCell)
       DisplayTable.Rows.Add(detailsRow)
    End While

بستن  Connection'

    reader.Close()
   cn.Close()
End Sub

·         مقدار متغير ConnectString در ابتدای کد نوشته شده فوق را تغيير و آن را به محلی که بانک اطلاعاتی موجود است ، اشاره دهيد .

·          از طريق منوی File ، گزينه SaveAll را انتخاب تا فرم وب و ساير فايل های مرتبط با پروژه ، ذخيره گردد .

·         از طريق منوی Build ، گزينه BuildSolution را بمنظور ايجاد پروژه ، فعال نمائيد.

·         در Solution Explorer ، بر روی DataSample.aspx کليک سمت راست و در ادامه گزينه View in Browser را انتخاب نمائيد . در ادامه صفحه در مرورگر نمايش و شامل داده موجود در بانک اطلاعاتی مربوطه است .

 

اشکالات و خطاهای احتمالی درزمان اجراء ، ممکن است با خطائی مانند زير مواجه شويم :

The Microsoft Jet database engine cannot open the file 'C:\MyDB\NWIND.MDB'.
 It is already opened exclusively by another user, or you need permission to view its data.

·         خطای فوق ، اغلب بدليل عدم داشتن مجوز لازم بمنظور دستيابی به فايل ( فايل بانک اطلاعاتی با انشعاب mdb . ) می باشد . بصورت پيش فرض ،  ASP.NET تحت ASPNET account  در فريمورک دات نت نسخه يک و يا NetworkService  در فريمورک دات نت نسخه 1،1اجراء می گردد.در اين رابطه لازم است تغييرات لازم در رابطه با  مجوز دستيابی به فايل mdb . و فولدری که شامل فايل است ، اعمال گردد .

·         از نصب عناصر مورد نياز Microsoft Jet database بر روی سيستم ، مطمئن گرديد. در صورتيکه MDAC 2.6 نصب شده باشد ( Microsoft Data AccessComponents 2.6) ، عناصر Jet را شامل نمی گردد . در چنين مواردی می بايست آخرين نسخه Jet 4.0 Service Pack ، بر روی سيستم نصب گردد.


مطالب مشابه :


برنامه فرترن + کتابچه های فارسی آموزشی

برنامه فرترن + کتابچه های فارسی آموزشی نگارش یافته توسط رضا زاهدی نژاد. برنامه فرترن یکی از




نرم افزار برنامه نویسی با سه زبان C ، C++ و فرترن - PGI Workstation v11.9

برنامه نويسي ویژوال بیسیک - نرم افزار برنامه نویسی با سه زبان C ، C++ و فرترن - PGI Workstation v11.9 - Visual




دانلود PGI Visual Fortran 2010 v11.9 - نرم افزار برنامه نویسی ویژوال و کامپایلر فرترن

دانلود PGI Visual Fortran 2010 v11.9 - نرم افزار برنامه نویسی ویژوال و کامپایلر فرترن. راهنمای نصب.




برنامه فرترن + کتابچه های فارسی آموزشی

مهندسی عمران راه و ساختمان - برنامه فرترن + کتابچه های فارسی آموزشی - ایجاد ارتقاء دانش فنی




معرفی اولیه VB.NET

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




دات نت فریم ورک چیست؟

برنامه نويسي ویژوال که در ProgramFiles نصب میشود نویسی ویژوال و کامپایلر فرترن.




معرفي نرم افزار MSC ويژوال نسترن (NASTRAN )

يك نرم افزار مهندسي چند منظوره با بيش از يك ميليون خط برنامه فرترن و نصب ميكنيد




مرور گر مخفی در ویژوال بیسیک

برنامه نويسي ویژوال بیسیک - مرور گر مخفی در ویژوال بیسیک - Visual Basic - برنامه نويسي ویژوال بیسیک




دستيابی به بانک اطلاعاتی Access با استفاده از VB.NET

برنامه نويسي ویژوال نصب يکی از PGI Visual Fortran 13.9 x86/x64 برنامه نویسی ویژوال و کامپایلر فرترن.




نمونه سوالات تستی ویژوآل بیسیک(Visual Basic)(سری اول)(نمونه سوالات برنامه نویسی)

نمونه سوالات تستی ویژوآل الف- فرترن علم ارگونومی ، نحوه نصب و تنظیم مودم های adsl




برچسب :