momimomi
چهارشنبه 30 تیر 1395, 19:27 عصر
با سلام
بنده با استفاده از کدهای زیر بایت را به ایمیج تبدیل می کنم
Bitmap ByteArrayToImage2(byte[] b)
{
MemoryStream ms = new MemoryStream();
byte[] pData = b;
ms.Write(pData, 0, Convert.ToInt32(pData.Length));
Bitmap bm = new Bitmap(ms, false);
return bm;
}
سپس
با کدهای زیر عکس خوانده شده از دیتابیس را به صورت ایمیج به استیمول سافت ارسال می کنم:
Image imgForStimul=null;
//Image imgForStimul = null;
if (code != (object)null)
{
//pictureBox1.Image = null;
OleDbConnection con = new OleDbConnection();
con.ConnectionString = @"provider = microsoft.jet.oledb.4.0;" + @"data source =a.mdb";
OleDbCommand com = new OleDbCommand();
com.Connection = con;
com.CommandText = "SELECT photo FROM personel2 WHERE code='" + dgPersonel1.CurrentRow.Cells[4].Value.ToString() + "'";
con.Open();
OleDbDataAdapter da = new OleDbDataAdapter(com);
DataTable dt = new DataTable();
da.Fill(dt);
if (dt.Rows.Count > 0)
{
if (dt.Rows[0]["photo"] != DBNull.Value)
{
imgForStimul= new System.Drawing.Bitmap(
imgForStimul = ByteArrayToImage2((Byte[])dt.Rows[0]["photo"]);
}
con.Close();
}
}
if (imgForStimul != null)
{
StiVariable svimage = new StiVariable("foldersummary", "image", imgForStimul);
stiFolderSummary.Dictionary.Variables.Add(svimage) ;
}
stiFolderSummary.Compile();
stiFolderSummary.Render();
stiFolderSummary.Show();
کدها به خوبی اجرا می شود اما با تغییر شخص بعدی عکس درج شده در گزارش، عکس همان فرد اولی است و با تغییر فرد عکس جدید از دیتابیس خوانده نمی شود
به نظر شما مشکل کجاست؟
بنده با استفاده از کدهای زیر بایت را به ایمیج تبدیل می کنم
Bitmap ByteArrayToImage2(byte[] b)
{
MemoryStream ms = new MemoryStream();
byte[] pData = b;
ms.Write(pData, 0, Convert.ToInt32(pData.Length));
Bitmap bm = new Bitmap(ms, false);
return bm;
}
سپس
با کدهای زیر عکس خوانده شده از دیتابیس را به صورت ایمیج به استیمول سافت ارسال می کنم:
Image imgForStimul=null;
//Image imgForStimul = null;
if (code != (object)null)
{
//pictureBox1.Image = null;
OleDbConnection con = new OleDbConnection();
con.ConnectionString = @"provider = microsoft.jet.oledb.4.0;" + @"data source =a.mdb";
OleDbCommand com = new OleDbCommand();
com.Connection = con;
com.CommandText = "SELECT photo FROM personel2 WHERE code='" + dgPersonel1.CurrentRow.Cells[4].Value.ToString() + "'";
con.Open();
OleDbDataAdapter da = new OleDbDataAdapter(com);
DataTable dt = new DataTable();
da.Fill(dt);
if (dt.Rows.Count > 0)
{
if (dt.Rows[0]["photo"] != DBNull.Value)
{
imgForStimul= new System.Drawing.Bitmap(
imgForStimul = ByteArrayToImage2((Byte[])dt.Rows[0]["photo"]);
}
con.Close();
}
}
if (imgForStimul != null)
{
StiVariable svimage = new StiVariable("foldersummary", "image", imgForStimul);
stiFolderSummary.Dictionary.Variables.Add(svimage) ;
}
stiFolderSummary.Compile();
stiFolderSummary.Render();
stiFolderSummary.Show();
کدها به خوبی اجرا می شود اما با تغییر شخص بعدی عکس درج شده در گزارش، عکس همان فرد اولی است و با تغییر فرد عکس جدید از دیتابیس خوانده نمی شود
به نظر شما مشکل کجاست؟