///////////////////////////////////////////Form///////////////////////////////////////////////////////
public static byte[] ImageToByte(Image img) //Function Convert Image To Byte
{
ImageConverter converter = new ImageConverter();
return (byte[])converter.ConvertTo(img, typeof(byte[]));
}
//-------------------------------------------------------------------------------------
private void Save_Click(object sender, EventArgs e)
{
RIDB.ReportSN = int.Parse(RepSN_txt.Text);
RIDB.ReportImage = ImageToByte(pictureBox1.Image);
RIDB.insert();
BindGrid();
}
////////////////////////////////////////////////////////Class BLL//////////////////////////////////////////////////////////////
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using DAL;
using BLL;
using System.Data;
using System.Data.SqlClient;
namespace BLL
{
public class ReportsImagesDB : DataAccessLayer
{
public int ReportSN;
public ؟ ReportImage;
public void insert()
{
base.connect();
string query = "Insert Into ReportsImagesDB (ReportSN,ReportImage) Values ('{0}','{1}')";
query = string.Format(query, ReportSN, ReportImage);
base.docommand(query);
base.disconnect();
}
}
}
با سلام .
دوستان عزیز کد بالا ذخیره تصویر در بانک sql را انجام میدهد بدین صورت که در قسمت Form تصویر از Picturebox گرفته شده و در تابع ImageToByte به شکل بایت تبدیل شده و به کلاس BLL جهت ذخیره شدن ارسال میشود ولی متاسفانه خطایی در زمان ذخیره وجود دارد . در کد بالا که بصورت سه لایه می باشد بفرمایید بجای علامت سوال در کلاس BLL ، متغییر ReportImage از چه نوعی میبایست انتخاب شود تا داده ارسالی را دریافت کرده و تصویر در دیتابیس ذخیره گردد تمامی نوع های Byte , object,.......تست شده است .نوع فیلد تصویر در بانک Image میباشد . ممنون میشم راهنمایی بفرمائید .