2017-02-12 16 views
0

asp.netを使用してSQLデータベースに画像を挿入/削除したい。挿入の私のコードは次のとおりです。asp.netでSQLデータから画像を挿入/更新/削除

Stream strm = FileUpload1.PostedFile.InputStream; 
     BinaryReader br = new BinaryReader(strm); 
     byte[] img = br.ReadBytes(Convert.ToInt32(strm.Length)); 
     imgDetail.ImageUrl = "data:image/png;base64," + Convert.ToBase64String(img, 0, img.Length); 
     imgDetail.Visible = true; 
     try 
     { 
      cmd = new SqlCommand("insert into Persons (id,Name,Surname,Address,Phone,Picture,Department) values (@id,@Name,@Surname,@Address,@Phone,@img,@Department)",con); 
      cmd.Parameters.AddWithValue("id", txtId.Text); 
      cmd.Parameters.AddWithValue("Name", txtName.Text); 
      cmd.Parameters.AddWithValue("Surname", txtSurname.Text); 
      cmd.Parameters.AddWithValue("Address", txtAddress.Text); 
      cmd.Parameters.AddWithValue("Phone", txtPhone.Text); 
      cmd.Parameters.AddWithValue("img", img); 
      cmd.Parameters.AddWithValue("Department", Department.Text); 

      con.Open(); 
      cmd.ExecuteNonQuery(); 
      con.Close(); 

私は何かが加算された画像と間違っていたと思いますが、私は私のGridViewの中でいくつかのレコードをクリックすると、たぶん私は、テキストボックス内のレコードを表示し、すべてのデータを、この間違った.Nowを行うが、私はイメージボックスに画像を表示することはできません。これどうやってするの? これはテキストボックス内のデータをdisplaingの一部です:

 foreach (GridViewRow row in GridView1.Rows) 
     { 
      if (row.RowIndex == GridView1.SelectedIndex) 
      { 
       GridViewRow row1 = GridView1.SelectedRow; 
       txtId.Text = row.Cells[0].Text; 
       txtName.Text = row.Cells[1].Text; 
       txtSurname.Text = row.Cells[2].Text; 
       txtAddress.Text = row.Cells[3].Text; 
       txtPhone.Text = row.Cells[4].Text; 
       Department.Text = row.Cells[5].Text; 
       Image.?????? 

答えて

0

「画像」コントロールが標準<img> HTMLタグの周りだけのラッパーです。バイト配列に設定できるバイナリプロパティがないことは明らかです。

しかし、あなたは「データ」URIを持っています。ここで

はあなたのためのアイデアです:

Image.ImageUrl = "data:image/jpg;base64," + Convert.ToBase64String((byte[])imagedata); 
関連する問題