کد نویسی BASIC برای فراخوان استفاده از دیتابیس Access
کد نویسی 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 بازیابی شده و در لیست ویو نمایش داده می شود.
امیدوارم همه همیشه و هرجا موفق و پیروز باشید.
منبع: