Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Anda dapat menulis objek besar biner (BLOB) ke database sebagai data biner atau karakter, tergantung pada jenis bidang di sumber data Anda. BLOB adalah istilah umum yang mengacu pada jenis data text
, ntext
, dan image
, yang biasanya berisi dokumen dan gambar.
Untuk menulis nilai BLOB ke database Anda, terbitkan pernyataan INSERT atau UPDATE yang sesuai dan berikan nilai BLOB sebagai parameter input. Jika BLOB Anda disimpan sebagai teks, seperti bidang SQL Servertext
, Anda dapat meneruskan BLOB sebagai parameter string. Jika BLOB disimpan dalam format biner, seperti bidang SQL Serverimage
, Anda dapat meneruskan array jenis byte
sebagai parameter biner.
Contoh
Contoh kode berikut menambahkan informasi karyawan ke tabel Karyawan di database Northwind. Foto karyawan dibaca dari file dan ditambahkan ke bidang Foto dalam tabel, yang merupakan bidang gambar.
public static void AddEmployee(
string lastName,
string firstName,
string title,
DateTime hireDate,
int reportsTo,
string photoFilePath,
string connectionString)
{
byte[] photo = GetPhoto(photoFilePath);
using (SqlConnection connection = new SqlConnection(
connectionString))
SqlCommand command = new SqlCommand(
"INSERT INTO Employees (LastName, FirstName, " +
"Title, HireDate, ReportsTo, Photo) " +
"Values(@LastName, @FirstName, @Title, " +
"@HireDate, @ReportsTo, @Photo)", connection);
command.Parameters.Add("@LastName",
SqlDbType.NVarChar, 20).Value = lastName;
command.Parameters.Add("@FirstName",
SqlDbType.NVarChar, 10).Value = firstName;
command.Parameters.Add("@Title",
SqlDbType.NVarChar, 30).Value = title;
command.Parameters.Add("@HireDate",
SqlDbType.DateTime).Value = hireDate;
command.Parameters.Add("@ReportsTo",
SqlDbType.Int).Value = reportsTo;
command.Parameters.Add("@Photo",
SqlDbType.Image, photo.Length).Value = photo;
connection.Open();
command.ExecuteNonQuery();
}
}
public static byte[] GetPhoto(string filePath)
{
FileStream stream = new FileStream(
filePath, FileMode.Open, FileAccess.Read);
BinaryReader reader = new BinaryReader(stream);
byte[] photo = reader.ReadBytes((int)stream.Length);
reader.Close();
stream.Close();
return photo;
}