نمایش نتایج 1 تا 5 از 5

نام تاپیک: ذخيره و بازيابي عكس در بانك

  1. #1

    ذخيره و بازيابي عكس در بانك

    سلام
    چطور مي تونم عكس رو در بانك ذخيره و بازيابي كنم
    (با C#‎ و در بانك sql2005)
    قبلا سرچ كردم اما جوابي كه مد نظرم باشه پيدا نكردم ممنون ميشم راهنمايي كنيد

  2. #2

    نقل قول: ذخيره و بازيابي عكس در بانك

    یک فیلد Nvarchar در جدولتون به نام PictureURL در نظر میگیرید و آدرس عکس رو در اونجا ذخیره می کنید.

    در هنگام خواندن رکورد، مقدار فیلد رو به شی Image نسبت میدید.
    در هنگام نوشتن هم بعد از اینکه مکان مورد نظر عکس رو مشخص کردید آدرس رو در DB ذخیره میکنید.

  3. #3

    نقل قول: ذخيره و بازيابي عكس در بانك

    من در بانك مسير عكس رو ذخيره كردم و نوع vaechar هم هست اما نميدونم چطور بازيابيش كنم و در يكي از سلول هاي گريد نشون بدم .اگه ميشه يه نمونه بذارين تا بهتر متوجه بشم
    ممنون

  4. #4
    کاربر دائمی آواتار smm2006sh
    تاریخ عضویت
    خرداد 1388
    محل زندگی
    زاینده روددیروز-مرده رودامروز(1390/09/25دوباره به خواب رفت)
    پست
    441

    نقل قول: ذخيره و بازيابي عكس در بانك

    شما اول باید یه عکس را توی صفحه اصلینون بیارید حالا یا با کد نویسی یا open file dialoge

    public void OnUpload(Object sender, EventArgs e)
    {
    // Create a byte[] from the input file
    int len = Upload.PostedFile.ContentLength;
    byte[] pic = new byte[len];
    Upload.PostedFile.InputStream.Read (pic, 0, len);
    // Insert the image and comment into the database
    SqlConnection connection = new
    SqlConnection (@"server=INDIA\INDIA;database=iSense;uid=sa;pwd=i ndia");
    try
    {
    connection.Open ();
    SqlCommand cmd = new SqlCommand ("insert into Image "
    + "(Picture, Comment) values (@pic, @text)", connection);
    cmd.Parameters.Add ("@pic", pic);
    cmd.Parameters.Add ("@text", Comment.Text);
    cmd.ExecuteNonQuery ();
    }
    finally
    {
    connection.Close ();
    }
    }

  5. #5

    Cool نقل قول: ذخيره و بازيابي عكس در بانك

    با سلام
    اول یک picture box روی فرم قرار بده و یک openfiledialog به فرم اضافه کن
    بعد یک دکمه روی فرم بذارید و فرم زیر رو توی اون بنویسید


    string s = Environment.CurrentDirectory;

    ofd.Filter = "JPEG (*.JPG) | *.jpg|" + "Bitmap Files (*.bmp) | *.bmp";

    if (ofd.ShowDialog() == DialogResult.OK)
    {
    strBK = ofd.FileName;
    pic_BK.Image = System.Drawing.Bitmap.FromFile(strBK);
    }

    Environment.CurrentDirectory = s;
    من یک تابع دارم با تعریف زیر :


    public void INSERT_Picture_BK(string _ConnectionString, string path, string _FormName)
    {
    MyFunction MF = new MyFunction();

    objConnection.ConnectionString = _ConnectionString;
    objCommand.Connection = objConnection;


    string strFileStream = string.Empty;


    strFileStream = path;

    if (strFileStream != null && strFileStream != "")
    {
    FileStream stream = new FileStream(strFileStream, FileMode.Open, FileAccess.Read);
    BinaryReader reader = new BinaryReader(stream);
    byte[] photo = reader.ReadBytes((int)stream.Length);
    reader.Close();
    stream.Close();
    objCommand.Parameters.Add("@Pic", SqlDbType.VarBinary, photo.Length).Value = photo;
    }
    else
    {
    objCommand.Parameters.Add("@Pic", SqlDbType.VarBinary).Value = DBNull.Value;
    }



    objCommand.CommandText = string.Format("UPDATE Pic_Main SET MainPic = @Pic WHERE Index_ = {0}", 0);


    try
    {
    objConnection.Open();
    objCommand.ExecuteNonQuery();
    }
    catch (SqlException error)
    {
    MessageBox.Show("درخواست مورد نظر قابل اجرا نمی باشد ، لطفاً بعداً اقدام نمایید", "اخطار", MessageBoxButtons.OK, MessageBoxIcon.Error);
    MF.WriteError(error.Number, error.Message, _FormName, "SELECT_Picture_BK");
    }

    objConnection.Close();

    }
    این تابع رو با دستور زیر فراخوانی می کنم :


    INSERT_Picture_BK(_ConnectionString, strBK, _FormName);
    توی دیتابیس هم یک فیلد از نوع زیر تعریف کنید

    varbinary(MAX)

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •