Откријте како да издате најчешће СКЛ команде користећи ВБ.НЕТ.

ВБ.НЕТ нуди поједностављен приступ операцијама базе података, са робусним оквиром. Користећи његову моћ, можете брзо и уз минималан напор добити релевантне информације.

Погледајте неколико практичних примера који показују како да користите ВБ.НЕТ за обављање СКЛ упита и видите како можете да обезбедите да је преузимање података ефикасно и ефикасно.

Подешавање вашег локалног СКЛ сервера

Почните тако што ћете поставити СКЛ сервер да све прегледате корак по корак. У примерима испод видећете Виндовс окружење, али ако користите а другачији оперативни систем као што је Линук и имате други СКЛ сервер, не брините; општа логика ће остати иста.

Због своје једноставности и приступа нулте конфигурације, СКЛите је одличан избор за почетнике.

Да бисте подесили ствари, онда направите нову фасциклу отворите командну линију и дођите до њега. Покрените следећу команду да бисте креирали нови .НЕТ пројекат у коме можете да користите ВБ.НЕТ језик:

dotnet new console -lang VB -o MyVBApp

Сада имате пројекат под називом МиВБАпп. Наставите са подешавањем интеграцијом СКЛите пакета у ваш ВБ.НЕТ пројекат користећи НуГет, популарни менаџер пакета за .НЕТ. Покрените ову команду:

dotnet add package System.Data.SQLite

Након што додате СКЛите, можете без напора да подесите локалну базу података.

Можете пронаћи сав код за ове примере у пројекту ГитХуб спремиште.

Преузмите ИнитиализеДатабасе.вб датотеку из складишта пројекта. Ова конкретна датотека ће вам помоћи да конфигуришете своју базу података. Као што можете видети у овој датотеци постоје неки корисници и земље корисника. Ово можете користити као узорак базе података.

Команда коју сте користили за креирање ВБ.НЕТ пројекта креирала је датотеку под називом Програм.вб. Отворите ову датотеку и ажурирајте је на следећи начин:

Module Program
Sub Main(args AsString())
DatabaseInitializer.InitializeDb()
EndSub
EndModule

Покрените овај програм и требало би да видите да креира датотеку под називом мидатабасе.дб. Ово је једноставна база података коју ћете користити у следећим примерима.

Успостављање везе са базом података са СКЛ-ом у ВБ.НЕТ-у

Успостављање везе помоћу СКЛите-а у ВБ.НЕТ-у је једноставно. Наставите са уређивањем Програм.вб датотеку и уклоните постојећи садржај Маин потпрограма. Ова датотека служи као језгро пројекта.

Можете дефинисати везу са датотеком базе података, мидатабасе.дб, помоћу ове линије кода:

Dim connectionString AsString = "Data Source=mydatabase.db; Version=3;"

Извор података специфицира име датотеке базе података. Ако датотека не постоји, СКЛите ће креирати нову базу података када успостави везу.

Следећи корак је коришћење СКЛитеЦоннецтион класе за креирање инстанце везе. Увек треба да користите а Користећи блокирајте када радите са везама базе података да бисте избегли потенцијално цурење или застоје:

Using conn AsNew SQLiteConnection(connectionString)
conn.Open()

' Database operations go here
EndUsing

Блок Усинг осигурава да се веза аутоматски затвори када се заврши.

Ваша коначна датотека Програм.вб би требало да изгледа отприлике овако:

Imports System
Imports System.Data.SQLite

Module Program
Sub Main(args AsString())
Dim connectionString AsString = "Data Source=mydatabase.db; Version=3;"

Try
Using conn AsNew SQLiteConnection(connectionString)
conn.Open()
Console.WriteLine("Successfully connected to the database!")

'You can perform database operations here.
EndUsing
Catch ex As SQLiteException
Console.WriteLine("Error: " & ex.Message)
EndTry
EndSub
EndModule

Овај код ће се повезати са базом података мидатабасе.дб и одштампати поруку потврде када успе. Ако дође до грешке, штампаће детаље на конзоли.

Како преузети податке и учитати их у низ

Тхе СЕЛЕЦТСКЛ команда је главни начин преузимања података из СКЛ базе података. Ако имате табелу са именом Корисници у вашој бази података и желите да добијете Име поље из сваког записа у тој табели, користите СЕЛЕЦТ овако:

SELECT Name FROM Users

Можете извући податке из базе података и учитати их у низ додавањем овог упита у датотеку Програм.вб:

Dim query AsString = "SELECT Name FROM Users"
Dim names AsNew List(OfString)()

Using conn AsNew SQLiteConnection(connectionString)
conn.Open()

Using cmd AsNew SQLiteCommand(query, conn)
Using reader As SQLiteDataReader = cmd.ExecuteReader()
While reader.Read()
names.Add(reader("Name").ToString())
EndWhile
EndUsing
EndUsing
EndUsing

' Now the 'names' list is full of users' names.
' You can convert this list to an array if you want:
Dim namesArray() AsString = names.ToArray()

' Print array content for testing purposes
ForEach name In namesArray
Console.WriteLine(name)
Next

Видећете листу имена на конзоли, која одговара садржају табеле базе података:

Овај код учитава податке у а Листа структуру—која има динамичку величину—пре него што је конвертује у низ по завршетку. Овај приступ је веома користан у ситуацијама када не знате унапред број записа које ћете преузети.

Како користити ИНСЕРТ за додавање података у базу података

Можете користити ИНСЕРТ ИНТО наредба за додавање нових података у базу података. На пример, размотрите Корисници табела која има две именоване колоне Име и Држава.

Основни СКЛ упит који можете користити за додавање новог корисника би био:

INSERT INTO Users (Name, Country) VALUES ('Fatih', 'TR')

Да бисте додали новог корисника у базу података користећи овај упит, ажурирајте датотеку Програм.вб на следећи начин:

Dim query AsString = $"INSERT INTO Users (Name, Country) VALUES ('{name}', '{country}')"
Using conn AsNew SQLiteConnection(connectionString)
conn.Open()

Using cmd AsNew SQLiteCommand(query, conn)
cmd.ExecuteNonQuery()
EndUsing
EndUsing

Console.WriteLine($"{name} has been successfully added to the database!")

Овај једноставан пример користи интерполацију стрингова за прављење упита, али ово би требало да избегавате у производном коду јер је рањив на СКЛ ињекцију. Алтернатива су параметризовани упити који операције базе података чине сигурнијим и ефикаснијим.

Параметризовани упити користе чуваре места, уместо директне конкатенације стрингова, за додавање вредности СКЛ упитима. Овај приступ ће вам помоћи да избегнете многе безбедносне претње:

Dim query AsString = "INSERT INTO Users (Name, Country) VALUES (@Name, @Country)"
'...
cmd.Parameters.AddWithValue("@Name", userName)
cmd.Parameters.AddWithValue("@Country", userCountry)

Било који други савет за рад са базом података из ВБ.Нет-а

Операције базе података у ВБ.НЕТ-у у почетку могу изгледати застрашујуће, али уз неколико смерница можете лако савладати основе.

  • Користите параметризоване упите да бисте се заштитили од безбедносних пропуста.
  • Увек затворите везу са базом података када завршите са преузимањем или ажурирањем података.
  • Одржавајте своју базу података да бисте оптимизовали њену структуру како се ваш модел података мења током времена.
  • Не заборавите да направите резервне копије у хитним случајевима.

Као и код сваке технологије, базе података се развијају. Софтвер се ажурира, појављују се нови алати, а ми откривамо боље начине да радимо ствари. Добра је идеја да будете информисани и ажурирани. Неки алати делују као посредници, нпр Ентитетски оквир, што олакшава писање кода који се односи на базу података.

Како да кренете даље на ВБ.НЕТ путовање

ВБ.НЕТ, са својом дубоко укорењеном везом са Мицрософт екосистемом, је и робустан и лак за коришћење. Да бисте заиста схватили његову моћ, почните са званичном документацијом коју је обезбедио Мицрософт. Одатле истражите онлајн курсеве, форуме и заједнице, где искусни програмери деле своје знање и увиде.

Запамтите, сваки стручњак је некада био почетник. Уз конзистентан напор, радозналост и праве ресурсе, ускоро ћете се наћи да се крећете по ВБ.НЕТ-у са самопоуздањем и лакоћом. Како напредујете, не оклевајте да експериментишете, постављате питања и – што је најважније – уживајте у процесу откривања.