fa_te64
یک شنبه 21 مهر 1387, 01:39 صبح
براي اينكه تصويري رو در پايگاه داده ذخيره و چاپ كنم كد زير رو نوشتم و تصوير رو با نوع varbinary ذخيره كردم ولي موقع لود در كريستال تصويري نمايش داده نميشه و صفحه حالي باز ميشه،مشكل كد چيه،نوع ستون بايد varbinary باشه؟:گریه:
openFileDialogi.ShowDialog();
if (openFileDialogi.FileName != "")
{
txtBro.Text = openFileDialogi.FileName;
filename = txtBro.Text;
pictureBox1.Image = Image.FromFile(openFileDialogi.FileName);
pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;
}
//**********************
MemoryStream ms = new MemoryStream();
pictureBox1.Image.Save(ms, pictureBox1.Image.RawFormat);
byte[] arrImage = ms.GetBuffer();
ms.Close();
SqlConnection con = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=" + System.IO.Directory.GetCurrentDirectory().Substrin g(0, System.IO.Directory.GetCurrentDirectory().Length - 10) + "\\FactiiiDB.mdf;Integrated Security=True;User Instance=True");
string strSQL = "INSERT INTO picT (filename,pic) VALUES ( @filename, @pic)";
SqlCommand cmd = new SqlCommand(strSQL, con);
cmd.Parameters.Add(new SqlParameter("@filename", SqlDbType.Char, 50)).Value = txtBro .Text;//filename
cmd.Parameters.Add(new SqlParameter("@pic", SqlDbType.Binary)).Value = arrImage;//picture
con.Open();
cmd.ExecuteNonQuery();
con.Close();
MessageBox.Show("Insert completed seccessfully.");
openFileDialogi.ShowDialog();
if (openFileDialogi.FileName != "")
{
txtBro.Text = openFileDialogi.FileName;
filename = txtBro.Text;
pictureBox1.Image = Image.FromFile(openFileDialogi.FileName);
pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;
}
//**********************
MemoryStream ms = new MemoryStream();
pictureBox1.Image.Save(ms, pictureBox1.Image.RawFormat);
byte[] arrImage = ms.GetBuffer();
ms.Close();
SqlConnection con = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=" + System.IO.Directory.GetCurrentDirectory().Substrin g(0, System.IO.Directory.GetCurrentDirectory().Length - 10) + "\\FactiiiDB.mdf;Integrated Security=True;User Instance=True");
string strSQL = "INSERT INTO picT (filename,pic) VALUES ( @filename, @pic)";
SqlCommand cmd = new SqlCommand(strSQL, con);
cmd.Parameters.Add(new SqlParameter("@filename", SqlDbType.Char, 50)).Value = txtBro .Text;//filename
cmd.Parameters.Add(new SqlParameter("@pic", SqlDbType.Binary)).Value = arrImage;//picture
con.Open();
cmd.ExecuteNonQuery();
con.Close();
MessageBox.Show("Insert completed seccessfully.");