PDA

View Full Version : ذخیره عکس در برنامه ی سه لایه



Sirwan Afifi
شنبه 24 مهر 1389, 01:15 صبح
سلام دوستان
من در حال نوشتن یه پروژه به صورت سه لایه هستم حالا مشکل من اینه که نمی دونم یه عکسو چطوری تو دیتابیس ذخیره کنم ؟

1- تو لایه BL فیلد عکس رو از چه نوعی بگیرم؟
2- تو لایه DAL به چه صورتی عکسو ذخیره کنم؟

این کد ذخیره اطلاعاته تو لایه DAL ، حالا می خوام همراه با اینا عکس رو هم ذخیره کنم.


public void insert(Students st)
{
try
{
OleDbConnection con = new OleDbConnection(connStr);
con.Open();
OleDbCommand cmd = new OleDbCommand("insert into Students(name,lastname,fathername,mellicode,sex,da teofbirth,status,din,mazhab,phone,address,maqtaeTa hsili,reshte) values('" + st.Name + "','" + st.Lastname + "','" + st.Fathername + "','" + st.Mellicode + "','" + st.Sex + "','" + st.Dateofbirth + "','" + st.Status + "','" + st.Din + "','" + st.Mazhab + "','" + st.Phone + "','" + st.Address + "','" + st.MaqtaeTahsili + "','" + st.Reshte + "')", con);
cmd.ExecuteNonQuery();
con.Close();
MessageBox.Show("اطلاعات شما با موفقیت ثبت گردید", "ثبت اطلاعات", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch (OleDbException ex)
{

MessageBox.Show(ex.ToString());
}
}

atryad
شنبه 24 مهر 1389, 03:46 صبح
سلام دوست عزیر


OpenFileDialog OP = new OpenFileDialog();
if (OP.ShowDialog() == DialogResult.OK)
{
SqlCommand Cmd = new SqlCommand();
SqlConnection Conn = new SqlConnection(path);
Cmd.CommandText = "Update Tmain set photo = (@Pic) where code='" +
meli + "'";
Cmd.Parameters.AddWithValue("@Pic", File.ReadAllBytes(OP.FileName));
Cmd.Connection = Conn;
Conn.Open();
Cmd.ExecuteNonQuery();
Conn.Close();

atryad
شنبه 24 مهر 1389, 03:49 صبح
بازم سلام


//
MemoryStream mstream = new MemoryStream();
pictureBox1.Image.Save(mstream, ImageFormat.Gif);
byte[] pic = mstream.GetBuffer();


rwd.command.Parameters.Add(new SqlParameter("@image",
SqlDbType.Image)).Value = pic;