Загрузить изображения в папку и путь в базе данных SQL - PullRequest
0 голосов
/ 29 марта 2011

Эй, ребята, кто-нибудь может мне помочь добавить изображения в папку и путь в базе данных SQL в C Sharp 2008 в приложении Windows?

Ответы [ 3 ]

0 голосов
/ 29 марта 2011

Проверьте это ImagesToDatabase

Пример кода, если у вас есть путь

byte[] img = File.ReadAllBytes("your image path");

mySqlCommand = "INSERT INTO MyTable(Image) VALUES(@Image)";//mySqlCommand is a SqlCommand, and @Image is a parameter 
mySqlCommand.Parameters.AddWithValue("@Image", img);
mySqlCommand.ExecuteNonQuery();
0 голосов
/ 28 апреля 2011

Если вы используете Windows форму, то неплохо сохранить изображение как файл изображения в базе данных.Следующий код может вам помочь:

 OpenFileDialog ofDlg = new OpenFileDialog();
  ofDlg.Filter = JPG|*.jpg|GIF|*.gif|PNG|*.png|BMP|*.bmp";

        if (DialogResult.OK == ofDlg.ShowDialog())
        {
            textBox1.Text = ofDlg.FileName;
            picturebox.SizeMode = PictureBoxSizeMode.StretchImage;
            picturebox.Image = new Bitmap(ofDlg.OpenFile());

        }

// при сохранении в базе данныхw

db.conopen ();byte [] img = File.ReadAllBytes (изображение);

        string query = "update tbl_emp_info set EMP_PHOTO=@image where EMP_ID=@empid";

        cmd=new SqlCommand(query,db.con);
        cmd.Parameters.AddWithValue("@Image",img);
        cmd.Parameters.AddWithValue("empid", Emp_id);
        cmd.ExecuteNonQuery();
0 голосов
/ 29 марта 2011

Вот код, который вы можете попробовать с этим,

 protected void Button1_Click(object sender, EventArgs e)
    {
    FileInfo imageInfo = new FileInfo(File1.Value.Trim());

    if (!imageInfo.Exists)
        //Show msg for "please select one image file."
      else
      {
        switch (imageInfo.Extension.ToUpper())
       {
          case ".JPG": this.UpLoadImageFile(imageInfo); break;
          case ".GIF": this.UpLoadImageFile(imageInfo); break;
          case ".BMP": this.UpLoadImageFile(imageInfo); break;
          default: //Show msg "file type error."; break;
       }
      }
    }

    private void UpLoadImageFile(FileInfo info)
    {
         SqlConnection objConn = null;
         SqlCommand objCom = null;
       try
       {
           byte[] content = new byte[info.Length];
           FileStream imagestream = info.OpenRead();
           imagestream.Read(content, 0, content.Length);
           imagestream.Close();

           objConn = new SqlConnection(strConnectionString);
           objCom = new SqlCommand("insert into TableName(FieldName,Picture)values(@FieldName,@Picture)", objConn);

 SqlParameter FieldNameParameter = new SqlParameter("@FieldName", SqlDbType.NVarChar);
 if (this.txtFileName.Text.Trim().Equals(""))
 FieldNameParameter.Value = "Default";
 else
  FieldNameParameter.Value = this.txtFileName.Text.Trim();
  objCom.Parameters.Add(FieldNameParameter);

 SqlParameter pictureParameter = new SqlParameter("@Picture", SqlDbType.Image);
  pictureParameter.Value = content;
 objCom.Parameters.Add(pictureParameter);

   objConn.Open();
  objCom.ExecuteNonQuery();
   objConn.Close();
    }
    catch (Exception ex)
    {
    throw new Exception(ex.Message);
    }
    finally
    {
    objConn.Close();
    }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...