تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
بعض الاكواد المفيدة في التعامل مع قاعدة بيانات اكسس
#1
السلام عليكم و رحمة الله و بركاته
بعض التجارب على قاعدة بيانات اكسس باكواد بسيطة

1-كود جلب اسماء الجداول داخل قاعدة البيانات باستخدام المخطط.
PHP كود :
    Private Sub Button1_Click(sender As ObjectAs EventArgsHandles Button1.Click
        TitleListBox
.DataSource Nothing

        Dim ConnectionString 
As String "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\Database1.accdb"

        Using cn As New OleDbConnection(ConnectionString)

            cn.Open()

            Dim dtNames As DataTable cn.GetSchema("Tables", New String() {NothingNothingNothing"TABLE"})

            TitleListBox.DataSource dtNames
            TitleListBox
.DisplayMember "TABLE_NAME"
        End Using
    End Sub 

حيث TitleListBox = ListBox


2-كود تغير كلمة السر لقاعدة البيانات
PHP كود :
       Dim connectionString As String "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\Database1.accdb;Jet OLEDB:Database Password=password;Mode=Share Exclusive;Persist Security Info=True;"

 
       Using cn As New OleDbConnection(connectionString)
 
           Using cmd As New OleDbCommand With {.Connection cn}
 
               Try
                    cn
.Open()

 
                   cmd.CommandText =
 
                       <Statement>
 
                       ALTER DATABASE PASSWORD "password1" "[password]"
 
                       </Statement>.Value

                    cmd
.ExecuteNonQuery()
 
                   MsgBox("تم تغير كلمة المرور")
 
               Catch ex As Exception
                    MsgBox
(ex.Message)
 
               End Try
 
           End Using
        End Using
    End Sub 


3- انشاء قاعدة بيانات بالكود و ادراج جدول و سجل داخله
استورد فضاء الاسماء Microsoft.Office.Inerop.Access الى مشروعك
الكلاس الخاص بالانشاء
PHP كود :
Imports System
Imports System
.Data.OleDb
Imports System
.IO
Imports System
.Runtime.InteropServices
Imports Microsoft
.Office.Interop.Access

Public Class CreateDatabaseLibrary
    Private ReadOnly DataBaseName 
As String
    Private ReadOnly _builder 
As OleDbConnectionStringBuilder = New OleDbConnectionStringBuilder With {.Provider "Microsoft.ACE.OLEDB.12.0"}

 
   Public Function Execute() As Boolean
        If File
.Exists(DataBaseNameThen
            File
.Delete(DataBaseName)
 
       End If

 
       If Create() Then
            Return CreateTable
()
 
       Else
            Return False
        End 
If
 
   End Function

 
   Public Function Create() As Boolean
        Try
            Dim app 
As Application Nothing
            app 
= New Application()
 
           app.NewCurrentDatabase(DataBaseNameAcNewDatabaseFormat.acNewDatabaseFormatAccess2007Type.Missing)
 
           app.CloseCurrentDatabase()
 
           Marshal.FinalReleaseComObject(app)
 
           app Nothing
            Return True
        Catch __unusedException1__ 
As Exception
            Return False
        End 
Try
 
   End Function

 
   Public Function CreateTable() As Boolean
        Dim tableName 
"PersonInfos"

 
       Using cn = New OleDbConnection(_builder.ConnectionString)

 
           Using cmd = New OleDbCommand(Nothingcn)

 
               Try
                    cn
.Open()
 
                   cmd.CommandText "CREATE TABLE " tableName "( [Id] COUNTER, [FirstName] TEXT(25),[LastName] TEXT(255), [Status] YESNO, [Phone] INT)"
 
                   cmd.ExecuteNonQuery()
 
                   cmd.CommandText "INSERT INTO " tableName " (FirstName,LastName,Status,Phone) VALUES ('Mazen','Ahmad',True,123456)"
 
                   cmd.ExecuteNonQuery()
 
                   Return True
                Catch __unusedException1__ 
As Exception
                    Return False
                End 
Try
 
           End Using
        End Using
    End 
Function

 
   Public Sub New(ByVal fileName As String)
 
       DataBaseName fileName
        _builder
.DataSource fileName
    End Sub
End 
Class 
الاستدعاء من اي مكان في الفورم (زر انشاء)

PHP كود :
   Private Sub btn_CreateDatabase_Click(sender As ObjectAs EventArgsHandles btn_CreateDatabase.Click
        Dim DBase 
= New CreateDatabaseLibrary(System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory"db1.accdb"))

 
       If DBase.Execute() Then
            MessageBox
.Show("تم انشاء القاعدة")
 
       Else
            MessageBox
.Show("اخفقت العملية")
 
       End If

 
   End Sub 

يتم انشاء قاعدة في مسار البرنامج باسم db1 , جدول بداخلها باسم PersonInfos , مع سجل وحيد بداخلها.
تنسيق القاعدة متوافق مع Access 2007.


4- بعض الاكواد للحصول على المعرف (اذا كان لدينا حقل نستخدمه كمعرف)

الحصول على المعرف وفق الطريقة Top
PHP كود :
   Public Function CurrentID() As Integer
        Using cn 
As New OleDbConnection(ConnectionString)
 
           Using cmd As New OleDbCommand With
                
{
 
                   .Connection cn,
 
                   .CommandText "SELECT TOP 1 ID FROM Table1 ORDER BY ID DESC;"
 
               }

 
               cn.Open()
 
               Return CInt(cmd.ExecuteScalar())

 
           End Using
        End Using
    End 
Function 
الحصول على المعرف التالي
PHP كود :
   Public Function NextID() As Integer
        Using cn 
As New OleDbConnection(ConnectionString)
 
           Using cmd As New OleDbCommand With
                
{
 
                   .Connection cn,
 
                   .CommandText "SELECT TOP 1 ID FROM Table1 ORDER BY ID DESC;"
 
               }

 
               cn.Open()
 
               Return CInt(cmd.ExecuteScalar()) + 1

            End Using
        End Using
    End 
Function 
في حال كان الحقل من النوع ترقيم تلقائي يمكننا بعد عملية الادخال الحصول على الرقم التالي كوسيط مرتد.
PHP كود :
   Public Function Increment(_Name As String) As Integer
        Using cn 
As New OleDbConnection(ConnectionString)
 
           Using cmd As New OleDbCommand With
                
{
 
                   .Connection cn,
 
                   .CommandText "INSERT INTO Table1 (Name) VALUES (?)"
 
               }

 
               cmd.Parameters.AddWithValue("?"_Name)

 
               cn.Open()

 
               Dim result cmd.ExecuteNonQuery()

 
               If result 1 Then
                    cmd
.CommandText "Select @@Identity"
 
                   Return CInt(cmd.ExecuteScalar())
 
               Else
                    Return 0
                End 
If

 
           End Using
        End Using

    End 
Function 
اللهم لك الحمد كما ينبغي لجلال وجهك و عظيم سلطانك
في حل و ترحال
الرد }}}
#2
بارك الله فيك اخي ابو ليلى
دائما تشاطرنا تجاربك
اعمل الخير وأجرك لا تنتظره فالله خير من إليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات







الرد }}}
تم الشكر بواسطة: سعود , asemshahen5 , ابو ليلى , Hamza lads , tryold
#3
جزاك الله خير انت وجميع القائمين على هذا الصرح
لا إله إلا الله وحده لا شريك له، لهُ الملك وله الحمد وهو على كل شئ قدير،،،،
سبحان الله وبحمده سبحان الله العظيم Heart
الرد }}}
تم الشكر بواسطة: asemshahen5 , ابو ليلى
#4
سبحان الله العظيم ما أعظم هذا الجهد و ما اكبر قيمته علينا جميعا 

نشكرك من قلوبنا و نجعلك فوق رؤوسنا


    Heart ربي زدني علما  Heart

الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [VB.NET] اريد كود جلب اخر اسم في قاعدة البيانات عن طريق button4 suliman01 1 571 06-01-24, 02:32 AM
آخر رد: HALIM ELEULMA
  [VB.NET] كود جلب اخر اسم في قاعدة البيانات عن طريق button4 suliman01 2 732 05-01-24, 01:19 AM
آخر رد: HALIM ELEULMA
  [كود] نسخ بيانات جدول من ملف اكسس الى جدول في ملف اكسس مستقل justforit 0 354 22-11-23, 08:22 PM
آخر رد: justforit
Rainbow [VB.NET] برنامج صانع الاكواد النسخة المحدثة الاصدار الثالث aljzazy 27 18,022 13-10-23, 08:18 PM
آخر رد: senussi_gtR
  [SQL] [ليس جديد]جملة استعلام جلب بيانات صف ما قبل الاخير سعود 0 1,252 27-05-22, 03:22 AM
آخر رد: سعود
Star [VB.NET] مكتبة الاكواد :) mr.am.he 26 22,632 28-09-21, 03:44 PM
آخر رد: مهندس عطية البرغثي
Lightbulb [كود] إغلاق الفورم عن طريق زر Esc و التعامل مع CancelButton Anas Mahmoud 1 2,544 18-06-21, 07:15 PM
آخر رد: AymanRamadanSaad
  كيف يمكن مشاركة وتقسيم قاعدة البيانات اكسس لأكثر من مستخدم للشبكة بالفيجول بيسك Lathe1 1 2,018 14-02-21, 12:22 AM
آخر رد: sendbad100
  [كود] كود الاكواد [ApplicationEvents.vb] سعود 0 2,000 14-01-21, 02:37 AM
آخر رد: سعود
Video [سلسلة تعليمية] مقدمة عن الدوال والإجراءات ... نحو تطوير فئات خاصة لقواعد بيانات خاصة عبدالله خضر 0 1,667 24-12-20, 06:45 PM
آخر رد: عبدالله خضر

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم