نحوه صدور رایج ترین دستورات SQL را با استفاده از VB.NET کشف کنید.
VB.NET یک رویکرد ساده برای عملیات پایگاه داده، با یک چارچوب قوی ارائه می دهد. با استفاده از قدرت آن، می توانید اطلاعات مربوطه را به سرعت و با حداقل تلاش به دست آورید.
به چند مثال عملی که نحوه استفاده از VB.NET برای انجام پرس و جوهای SQL را نشان می دهد نگاهی بیندازید و ببینید چگونه می توانید از موثر و کارآمد بودن بازیابی داده ها اطمینان حاصل کنید.
راه اندازی SQL Server محلی شما
با راه اندازی یک سرور SQL شروع کنید تا همه چیز را مرحله به مرحله بررسی کنید. در مثال های زیر یک محیط ویندوز را مشاهده می کنید، اما اگر از سیستم عامل دیگری مانند لینوکس استفاده می کنید و سرور SQL متفاوتی دارید، نگران نباشید. منطق کلی یکسان خواهد ماند.
با توجه به سادگی و رویکرد پیکربندی صفر، SQLite یک انتخاب عالی برای مبتدیان است.
برای تنظیم موارد، یک پوشه جدید ایجاد کنید، سپس یک خط فرمان باز کنید و به آن بروید. برای ایجاد یک پروژه .NET جدید که در آن می توانید از زبان VB.NET استفاده کنید، دستور زیر را اجرا کنید:
dotnet new console -lang VB -o MyVBApp
اکنون پروژه ای به نام MyVBApp دارید. راه اندازی را با ادغام بسته SQLite در پروژه VB.NET خود با استفاده از NuGet، یک مدیر بسته محبوب برای دات نت، ادامه دهید. این دستور را اجرا کنید:
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 ایجاد می کند. این پایگاه داده ساده ای است که در مثال های زیر از آن استفاده خواهید کرد.
ایجاد ارتباط پایگاه داده با SQL در VB.NET
ایجاد یک اتصال با استفاده از SQLite در VB.NET ساده است. به ویرایش فایل Program.vb ادامه دهید و محتویات موجود زیرروال اصلی را حذف کنید. این فایل به عنوان هسته پروژه عمل می کند.
با این خط کد می توانید یک اتصال به فایل پایگاه داده mydatabase.db تعریف کنید:
Dim connectionString As String = "Data Source=mydatabase.db;Version=3;"
منبع داده نام فایل پایگاه داده را مشخص می کند. اگر فایل وجود نداشته باشد، SQLite زمانی که یک اتصال برقرار می کند یک پایگاه داده جدید ایجاد می کند.
مرحله بعدی استفاده از کلاس SQLiteConnection برای ایجاد یک نمونه اتصال است. هنگام کار با اتصالات پایگاه داده همیشه باید از بلوک Using استفاده کنید تا از نشت یا بن بست احتمالی جلوگیری کنید:
Using conn As New SQLiteConnection(connectionString)
conn.Open()
' Database operations go here
End Using
بلوک 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 در پایگاه داده خود دارید و می خواهید فیلد Name را از هر رکورد در آن جدول دریافت کنید، از 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 برای افزودن داده های جدید به پایگاه داده استفاده کنید. برای مثال جدول Users را در نظر بگیرید که دارای دو ستون به نامهای Name و Country است.
پرس و جوی اصلی 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، با اتصال ریشه ای خود به اکوسیستم مایکروسافت، هم قوی و هم کاربر پسند است. برای درک واقعی قدرت آن، با اسناد رسمی ارائه شده توسط مایکروسافت شروع کنید. از آنجا، دورهها، انجمنها و جوامع آنلاین را کاوش کنید، جایی که توسعهدهندگان با تجربه دانش و بینش خود را به اشتراک میگذارند.
به یاد داشته باشید، هر متخصص زمانی یک مبتدی بود. با تلاش مداوم، کنجکاوی و منابع مناسب، به زودی متوجه خواهید شد که VB.NET با اطمینان و سهولت در حال پیمایش هستید. همانطور که پیشرفت می کنید، از آزمایش کردن، سوال پرسیدن، و مهمتر از همه از فرآیند کشف دریغ نکنید.