VB.NET SQL Տվյալների բազաների արդյունավետ հարցումների օրինակներ
Բացահայտեք, թե ինչպես թողարկել ամենատարածված SQL հրամանները VB.NET-ի միջոցով:
VB.NET-ն առաջարկում է տվյալների բազայի գործառնությունների պարզեցված մոտեցում՝ ամուր շրջանակով: Օգտագործելով դրա հզորությունը՝ դուք կարող եք արագ և նվազագույն ջանքերով համապատասխան տեղեկատվություն ստանալ:
Նայեք մի քանի գործնական օրինակների, որոնք ցույց են տալիս, թե ինչպես օգտագործել VB.NET-ը SQL հարցումներ կատարելու համար և տեսեք, թե ինչպես կարող եք ապահովել տվյալների որոնումը և՛ արդյունավետ, և՛ արդյունավետ:
Ձեր տեղական SQL սերվերի կարգավորումը
Սկսեք ստեղծելով SQL սերվեր՝ ամեն ինչ քայլ առ քայլ վերանայելու համար: Ստորև բերված օրինակներում դուք կտեսնեք Windows միջավայր, բայց եթե դուք օգտագործում եք այլ օպերացիոն համակարգ, ինչպիսին է Linux-ը և ունեք այլ SQL սերվեր, մի անհանգստացեք. ընդհանուր տրամաբանությունը կմնա նույնը.
Իր պարզության և զրոյական կազմաձևման մոտեցման շնորհիվ SQLite-ը հիանալի ընտրություն է սկսնակների համար:
Իրերը կարգավորելու համար ստեղծեք նոր թղթապանակ, ապա բացեք հրամանի տողը և նավարկեք դեպի այն: Գործարկեք հետևյալ հրամանը՝ նոր .NET նախագիծ ստեղծելու համար, որում կարող եք օգտագործել VB.NET լեզուն.
dotnet new console -lang VB -o MyVBApp
Դուք այժմ ունեք նախագիծ, որը կոչվում է MyVBApp: Շարունակեք կարգավորումը՝ SQLite փաթեթը ինտեգրելով ձեր VB.NET նախագծին՝ օգտագործելով NuGet-ը՝ .NET-ի համար հայտնի փաթեթների կառավարիչ: Գործարկեք այս հրամանը.
dotnet add package System.Data.SQLite
SQLite-ն ավելացնելուց հետո կարող եք առանց ջանքերի տեղական տվյալների բազա ստեղծել:
Դուք կարող եք գտնել այս օրինակների բոլոր ծածկագրերը նախագծի GitHub պահոցում:
Ներբեռնեք InitializeDatabase.vb ֆայլը նախագծի պահոցից: Այս կոնկրետ ֆայլը կօգնի ձեզ կարգավորել ձեր տվյալների բազան: Ինչպես տեսնում եք այս ֆայլում կան որոշ օգտվողներ և օգտվողների երկրներ: Դուք կարող եք սա օգտագործել որպես տվյալների բազայի նմուշ:
Հրամանը, որը դուք օգտագործել եք VB.NET նախագիծը ստեղծելու համար, ստեղծել է Program.vb անունով ֆայլ: Բացեք այս ֆայլը և թարմացրեք այն հետևյալ կերպ.
Module Program
Sub Main(args As String())
DatabaseInitializer.InitializeDb()
End Sub
End Module
Գործարկեք այս ծրագիրը և կտեսնեք, որ այն ստեղծում է mydatabase.db անունով ֆայլ: Սա այն պարզ տվյալների բազան է, որը դուք կօգտագործեք հետևյալ օրինակներում:
VB.NET-ում SQL-ի հետ տվյալների բազայի կապի ստեղծում
VB.NET-ում SQLite-ի միջոցով կապ հաստատելը պարզ է: Շարունակեք խմբագրել Program.vb ֆայլը և հեռացրեք հիմնական ենթածրագրի առկա բովանդակությունը: Այս ֆայլը ծառայում է որպես նախագծի առանցք:
Դուք կարող եք կապ հաստատել տվյալների բազայի ֆայլի հետ՝ mydatabase.db, այս կոդով.
Dim connectionString As String = "Data Source=mydatabase.db;Version=3;"
Տվյալների աղբյուրը նշում է տվյալների բազայի ֆայլի անունը: Եթե ֆայլը գոյություն չունի, SQLite-ը կստեղծի նոր տվյալների բազա, երբ կապ հաստատի:
Հաջորդ քայլը SQLiteConnection դասի օգտագործումն է՝ կապի օրինակ ստեղծելու համար: Տվյալների տվյալների բազայի միացումների հետ աշխատելիս միշտ պետք է օգտագործեք Օգտագործում բլոկ՝ հնարավոր արտահոսքից կամ փակուղուց խուսափելու համար.
Using conn As New SQLiteConnection(connectionString)
conn.Open()
' Database operations go here
End Using
Օգտագործման բլոկը ապահովում է, որ կապն ավտոմատ կերպով փակվի, երբ այն ավարտվի:
Ձեր վերջնական Program.vb ֆայլը պետք է նման լինի հետևյալին.
Imports System
Imports System.Data.SQLite
Module Program
Sub Main(args As String())
Dim connectionString As String = "Data Source=mydatabase.db;Version=3;"
Try
Using conn As New SQLiteConnection(connectionString)
conn.Open()
Console.WriteLine("Successfully connected to the database!")
'You can perform database operations here.
End Using
Catch ex As SQLiteException
Console.WriteLine("Error: " & ex.Message)
End Try
End Sub
End Module
Այս կոդը կմիանա mydatabase.db տվյալների բազային և կտպագրի հաստատման հաղորդագրություն, երբ այն հաջողվի: Եթե սխալ առաջանա, այն կտպագրի մանրամասները վահանակում:
Ինչպես վերցնել տվյալներ և բեռնել դրանք զանգվածի մեջ
SELECT SQL հրամանը SQL տվյալների բազայից տվյալներ ստանալու հիմնական միջոցն է: Եթե ձեր տվյալների բազայում ունեք Users անունով աղյուսակ և ցանկանում եք ստանալ Անուն դաշտը այդ աղյուսակի յուրաքանչյուր գրառումից, օգտագործեք SELECT այսպես.
SELECT Name FROM Users
Դուք կարող եք տվյալներ հանել տվյալների բազայից և բեռնել դրանք զանգվածի մեջ՝ ավելացնելով այս հարցումը Program.vb ֆայլում.
Dim query As String = "SELECT Name FROM Users"
Dim names As New List(Of String)()
Using conn As New SQLiteConnection(connectionString)
conn.Open()
Using cmd As New SQLiteCommand(query, conn)
Using reader As SQLiteDataReader = cmd.ExecuteReader()
While reader.Read()
names.Add(reader("Name").ToString())
End While
End Using
End Using
End Using
' Now the 'names' list is full of users' names.
' You can convert this list to an array if you want:
Dim namesArray() As String = names.ToArray()
' Print array content for testing purposes
For Each name In namesArray
Console.WriteLine(name)
Next
Վահանակի վրա կտեսնեք անունների ցանկ, որը համապատասխանում է ձեր տվյալների բազայի աղյուսակի բովանդակությանը.
Այս կոդը բեռնում է տվյալները Ցուցակ կառուցվածքում, որն ունի դինամիկ չափս, նախքան ավարտվելուց հետո այն վերածում է զանգվածի: Այս մոտեցումը շատ օգտակար է այն իրավիճակների համար, երբ դուք նախապես չգիտեք ձեր առբերվող գրառումների քանակը:
Ինչպես օգտագործել INSERT-ը տվյալների բազայում տվյալներ ավելացնելու համար
Դուք կարող եք օգտագործել INSERT INTO հրամանը տվյալների բազայում նոր տվյալներ ավելացնելու համար: Օրինակ՝ հաշվի առեք Օգտվողներ աղյուսակը, որն ունի երկու սյունակ՝ Անուն և Երկիր անուններով:
Հիմնական SQL հարցումը, որը կարող եք օգտագործել նոր օգտվող ավելացնելու համար, կլինի.
INSERT INTO Users (Name, Country) VALUES ('Fatih', 'TR')
Այս հարցումով տվյալների բազայում նոր օգտվող ավելացնելու համար թարմացրեք Program.vb ֆայլը հետևյալ կերպ.
Dim query As String = $"INSERT INTO Users (Name, Country) VALUES ('{name}', '{country}')"
Using conn As New SQLiteConnection(connectionString)
conn.Open()
Using cmd As New SQLiteCommand(query, conn)
cmd.ExecuteNonQuery()
End Using
End Using
Console.WriteLine($"{name} has been successfully added to the database!")
Այս պարզ օրինակը օգտագործում է լարային ինտերպոլացիա՝ հարցումը կառուցելու համար, բայց դուք պետք է խուսափեք դրանից արտադրության կոդում, քանի որ այն խոցելի է SQL ներարկման համար: Այլընտրանքը պարամետրացված հարցումներն են, որոնք տվյալների բազայի գործողություններն ավելի անվտանգ և արդյունավետ են դարձնում:
Պարամետրացված հարցումներն օգտագործում են տեղապահեր՝ տողերի ուղիղ միացման փոխարեն, SQL հարցումներին արժեքներ ավելացնելու համար: Այս մոտեցումը կօգնի ձեզ խուսափել անվտանգության բազմաթիվ սպառնալիքներից.
Dim query As String = "INSERT INTO Users (Name, Country) VALUES (@Name, @Country)"
'...
cmd.Parameters.AddWithValue("@Name", userName)
cmd.Parameters.AddWithValue("@Country", userCountry)
Ցանկացած այլ խորհուրդ VB.Net-ի տվյալների բազայի հետ աշխատելու համար
VB.NET-ում տվյալների բազայի գործառնություններն ի սկզբանե կարող են սարսափելի թվալ, բայց մի քանի ուղեցույցներով կարող եք հեշտությամբ տիրապետել հիմունքներին:
- Անվտանգության խոցելիություններից պաշտպանվելու համար օգտագործեք պարամետրացված հարցումներ:
- Միշտ փակեք ձեր տվյալների բազայի կապը, երբ ավարտեք տվյալների բեռնումը կամ թարմացումը:
- Պահպանեք ձեր տվյալների բազան՝ դրա կառուցվածքը օպտիմալացնելու համար, քանի որ ձեր տվյալների մոդելը փոխվում է ժամանակի ընթացքում:
- Մի մոռացեք արտակարգ իրավիճակների դեպքում կրկնօրինակներ պատրաստել:
Ինչպես ցանկացած տեխնոլոգիայի դեպքում, տվյալների բազաները զարգանում են: Ծրագրային ապահովումը թարմացվում է, նոր գործիքներ են հայտնվում, և մենք հայտնաբերում ենք գործեր անելու ավելի լավ ուղիներ: Լավ գաղափար է լինել տեղեկացված և թարմացված: Որոշ գործիքներ հանդես են գալիս որպես միջնորդներ, օրինակ՝ Entity Framework-ը՝ հեշտացնելով տվյալների բազայի հետ կապված կոդ գրելը:
Ինչպես շարունակել ձեր VB.NET ճանապարհորդությունը
VB.NET-ը, Microsoft-ի էկոհամակարգի հետ իր խորը կապով, և՛ ամուր է, և՛ օգտագործողի համար հարմար: Դրա հզորությունը իսկապես հասկանալու համար սկսեք Microsoft-ի կողմից տրամադրված պաշտոնական փաստաթղթերից: Այնտեղից ուսումնասիրեք առցանց դասընթացներ, ֆորումներ և համայնքներ, որտեղ փորձառու մշակողները կիսում են իրենց գիտելիքներն ու պատկերացումները:
Հիշեք, որ յուրաքանչյուր փորձագետ ժամանակին սկսնակ է եղել: Հետևողական ջանքերով, հետաքրքրասիրությամբ և ճիշտ ռեսուրսներով դուք շուտով կհայտնվեք VB.NET-ում վստահ և հեշտությամբ նավարկելու համար: Երբ դուք առաջադիմեք, մի հապաղեք փորձեր անել, հարցեր տալ և, ամենակարևորը, վայելեք բացահայտման գործընթացը: