PDA

View Full Version : یک مشکل کوچک در ذخیره تصویر در بانک sql



slashslash2009
دوشنبه 02 آذر 1388, 18:49 عصر
موقعی که از پارامتر استفاده میکنم خیلی خوب عمل درج انجام میشه (@pic) مثل کد زیر


strSQL = "insert into ahang(pic,name,song,lirycs) values(@pic" + ",'" + textBoxX1.Text + "','" + textBoxX2.Text + "','" + textBoxX3.Text + "')";
MemoryStream ms = new MemoryStream();
pictureBox1.Image.Save(ms, pictureBox1.Image.RawFormat);
byte[] arrpic = ms.GetBuffer();
ms.Close();
con.Open();
com = new SqlCommand(strSQL, con);
com.Parameters.Add("@pic", SqlDbType.VarBinary).Value = arrpic;
com.ExecuteNonQuery();
con.Close();

اما من تو کل پروژم ارتباط با sql رو با یک کلاس انجام میدم و نمیتونم یا بلد نیستم که پارامتر بدم و به صورت مستقیم این کارو انجام میدم میخوام با کد زیر عمل درجو انجام بدم ولی یه جای کار میلنگه لطفا کمکم کنید :


connect db = new connect();
MemoryStream ms = new MemoryStream();
pictureBox1.Image.Save(ms, pictureBox1.Image.RawFormat);
byte[] arrpic = ms.GetBuffer();
ms.Close();
db.doCommand("insert into ahang(pic,name,song,lirycs)values(" + arrpic + ",'" + textBoxX1.Text + "','" + textBoxX2.Text + "','" + textBoxX3.Text + "')");
MessageBox.Show("Inserted");

81579001
دوشنبه 02 آذر 1388, 19:03 عصر
سلام
یک سری به اینجا بزن
http://barnamenevis.org/forum/showthread.php?t=191172&page=4

slashslash2009
دوشنبه 02 آذر 1388, 21:00 عصر
db.doCommand("insert into ahang(pic,name,song,lirycs)values(" + arrpic
این خطا رو میده :

The name "System.Byte" is not permitted in this context. Valid expressions are constants, constant expressions, and (in some contexts) variables. Column names are not permitted.
یه جایی باید varbinary بنویسم

sky_in_iran
سه شنبه 03 آذر 1388, 08:25 صبح
سلام دوست عزيز
فيلد عكس تو بانك binary اين و تبديل كن به image فكر كنم مشكلت مرتفع بشه اگه نشد بگو تا كدش و بزارم