سورس کد ذخیره و بازیابی تصویر از پایگاه داده SQL Server با استفاده از VB.NET


در دنیای برنامه‌نویسی، مدیریت داده‌های تصویری یکی از نیازهای اساسی و مهم است، مخصوصاً در برنامه‌هایی که نیاز دارند تصاویر را ذخیره، بازیابی و نمایش دهند. در این راستا، استفاده از پایگاه داده‌های رابطه‌ای مانند SQL Server، گزینه‌ای مناسب و کارآمد است، زیرا امکانات قدرتمندی برای ذخیره‌سازی و مدیریت داده‌ها فراهم می‌کند. در این مقاله، قصد داریم به طور کامل و جامع، نحوه پیاده‌سازی سیستم ذخیره و بازیابی تصویر در SQL Server با استفاده از زبان برنامه‌نویسی VB.NET را شرح دهیم، به طوریکه تمامی جزئیات، مفاهیم، و نکات فنی به خوبی پوشش داده شوند.

مفاهیم پایه و نیازمندی‌ها




قبل از شروع، باید بدانیم که چه چیزهایی نیاز داریم. اول، یک پایگاه داده SQL Server، دوم، محیط توسعه VB.NET در Visual Studio، و سوم، دانش پایه‌ای در مورد کار با پایگاه داده‌ها و کنترل‌های ویندوز فرم در VB.NET. علاوه بر این، باید بدانیم که تصاویر چگونه در پایگاه داده ذخیره می‌شوند؛ معمولا، تصاویر به صورت بایت‌استریم (byte array) در ستون نوع `VARBINARY(MAX)` قرار می‌گیرند. بنابراین، در طراحی دیتابیس، باید ستونی از نوع `VARBINARY(MAX)` برای نگهداری تصاویر در نظر بگیریم.

طراحی پایگاه داده




فرض کنیم جدولی به نام `Images` داریم که شامل سه ستون است:

- `ID` (شناسه منحصر به فرد، از نوع `INT` و کلید اصلی)

- `Name` (نام تصویر، از نوع `NVARCHAR(100)`)

- `ImageData` (محتوای تصویر، از نوع `VARBINARY(MAX)`)
کد SQL برای ساخت این جدول به صورت زیر است:
sql  

CREATE TABLE Images (

ID INT PRIMARY KEY IDENTITY(1,1),

Name NVARCHAR(100),

ImageData VARBINARY(MAX)

);


این ساختار، امکان ذخیره‌سازی هر تصویر با نام مربوطه و شناسه یکتا را فراهم می‌کند.

اتصال به پایگاه داده در VB.NET




در برنامه VB.NET، ابتدا باید اتصال به پایگاه داده برقرار کنیم. برای این کار، از کلاس `SqlConnection` استفاده می‌کنیم. مثلا، رشته اتصال (Connection String) را مشخص می‌کنیم:
vb  

Dim connectionString As String = "Data Source=SERVER_NAME;Initial Catalog=DATABASE_NAME;Integrated Security=True;"

Dim connection As New SqlConnection(connectionString)


در اینجا، `SERVER_NAME` و `DATABASE_NAME` را باید مطابق با محیط و دیتابیس خود تنظیم کنیم.

ذخیره‌سازی تصویر در پایگاه داده




برای ذخیره‌سازی تصویر، باید تصویر موردنظر را به بایت‌آرایه تبدیل کنیم. این کار معمولاً با استفاده از `MemoryStream` و `FileStream` انجام می‌شود. فرض کنیم کاربر تصویری را از فایل سیستم انتخاب می‌کند.
کد نمونه برای تبدیل تصویر به بایت‌آریه و ذخیره در دیتابیس:
vb  

Dim img As Image = Image.FromFile("path_to_image.jpg")

Dim ms As New MemoryStream()

img.Save(ms, Imaging.ImageFormat.Jpeg)

Dim imgBytes() As Byte = ms.ToArray()
Dim query As String = "INSERT INTO Images (Name, ImageData) VALUES (@Name, @ImageData)"

Using cmd As New ... ← ادامه مطلب در magicfile.ir