کد نویسی BASIC برای فراخوان استفاده از دیتابیس Access

2 شهریور 1402 - خواندن 3 دقیقه - 180 بازدید

 کد نویسی BASIC برای فراخوان استفاده از دیتابیس Access 




برای فراخوان دیتابیس اکسس در برنامه نویسی BASIC می توان از دیتابیس Access استفاده کرد. برای این منظور، ابتدا باید کتابخانه ی Jet و ODBC را بر روی سیستم خود نصب کنید. سپس با استفاده از کد زیر، یک فایل دیتابیس جدید بسازید:


Sub CreateDatabase

Dim DBFile As String

DBFile = File.DirInternal & "/mydatabase.accdb"

If File.Exists(DBFile, "") = False Then

Dim ConnStr As String

ConnStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & DBFile & ";Persist Security Info=False;"

Dim JetEngine As Object

JetEngine.Initialize("DAO.DBEngine.36")

JetEngine.CreateDatabase(DBFile, ConnStr)

End If

End Sub


در این کد، فایل دیتابیس با نام mydatabase.accdb در دایرکتوری internal دستگاه ایجاد می شود. سپس با استفاده از کلاس های دیتابیس Access، می توانید جداول و فیلدهای مورد نیاز برای مفاتیح الجنان هوشمند را ایجاد کنید و داده های لازم را در آن ها ذخیره کنید. برای مثال، با استفاده از کد زیر، یک جدول با نام users و دو فیلد username و password ایجاد می شود:


Sub CreateTables

Dim DBFile As String

DBFile = File.DirInternal & "/mydatabase.accdb"

Dim ConnStr As String

ConnStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & DBFile & ";Persist Security Info=False;"

Dim JetEngine As Object

JetEngine.Initialize("DAO.DBEngine.36")

Dim DB As Object

DB = JetEngine.OpenDatabase(DBFile, False, False, ConnStr)

Dim SQL As String

SQL = "CREATE TABLE users (username TEXT(50), password TEXT(50))"

DB.Execute(SQL)

DB.Close

End Sub


سپس با استفاده از کلاس های دیتابیس Access، می توانید داده های مورد نیاز را در جداول ذخیره کنید و با استفاده از کوئری های SQL، اطلاعات مورد نیاز را از دیتابیس بازیابی کنید. برای مثال، با استفاده از کد زیر، یک رکورد با نام کاربری test و رمز عبور 1234 در جدول users ذخیره می شود:


Sub InsertData

Dim DBFile As String

DBFile = File.DirInternal & "/mydatabase.accdb"

Dim ConnStr As String

ConnStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & DBFile & ";Persist Security Info=False;"

Dim JetEngine As Object

JetEngine.Initialize("DAO.DBEngine.36")

Dim DB As Object

DB = JetEngine.OpenDatabase(DBFile, False, False, ConnStr)

Dim SQL As String

SQL = "INSERT INTO users (username, password) VALUES ('test', '1234')"

DB.Execute(SQL)

DB.Close

End Sub

با استفاده از کوئری های SQL، می توانید اطلاعات مورد نیاز را از دیتابیس بازیابی کنید. برای مثال، با استفاده از کد زیر، تمام رکوردهای جدول users را بازیابی کرده و در لیست ویو نمایش می دهد:

Sub LoadDataToListView

Dim DBFile As String

DBFile = File.DirInternal & "/mydatabase.accdb"

Dim ConnStr As String

ConnStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & DBFile & ";Persist Security Info=False;"

Dim JetEngine As Object

JetEngine.Initialize("DAO.DBEngine.36")

Dim DB As Object

DB = JetEngine.OpenDatabase(DBFile, False, False, ConnStr)

Dim SQL As String

SQL = "SELECT * FROM users"

Dim RS As Object

RS = DB.OpenRecordset(SQL)

Do While Not RS.EOF

Dim Item As List

Item.Initialize

Item.Add(RS.Fields("username").Value)

Item.Add(RS.Fields("password").Value)

ListView1.AddSingleLine2(Item)

RS.MoveNext

Loop

RS.Close

DB.Close

End Sub

در این کد، با استفاده از کوئری SELECT، تمام رکوردهای جدول users بازیابی شده و در لیست ویو نمایش داده می شود.


امیدوارم همه همیشه و هرجا موفق و پیروز باشید.


منبع:

https://www.mwx278.ir/blog/%da%a9%d8%af-%d9%86%d9%88%db%8c%d8%b3%db%8c-basic-%d8%a8%d8%b1%d8%a7%db%8c-%d9%81%d8%b1%d8%a7%d8%ae%d9%88%d8%a7%d9%86-%d8%a7%d8%b3%d8%aa%d9%81%d8%a7%d8%af%d9%87-%d8%a7%d8%b2-%d8%af%db%8c%d8%aa%d8%a7/

اندرویدAccess برنامه نویسی