Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como carregar a imagem do SQL Server na caixa de imagem?


Você nunca carregou o conteúdo da imagem no banco de dados. Esse é apenas o nome do arquivo.

Digamos, por exemplo, que você tenha um caminho de arquivo para trabalhar (parece que tem, dado o conteúdo da pergunta). Em seu aplicativo, você faria o upload para o banco de dados seguindo este formato:
byte[] image = File.ReadAllBytes("D:\\11.jpg");

SqlCommand sqlCommand = new SqlCommand("INSERT INTO imageTest (pic_id, pic) VALUES (1, @Image)", yourConnectionReference);
sqlCommand.Parameters.AddWithValue("@Image", image);
sqlCommand.ExecuteNonQuery();

Lembre-se de que sua pic provavelmente precisará alterar o tipo de dados. Um tipo comum para esta informação é VARBINARY .

A próxima parte é ler o arquivo em um PictureBox. Para isso, você precisará SELECIONAR os dados:
SqlDataAdapter dataAdapter = new SqlDataAdapter(new SqlCommand("SELECT pic FROM imageTest WHERE pic_id = 1", yourConnectionReference));
DataSet dataSet = new DataSet();
dataAdapter.Fill(dataSet);

if (dataSet.Tables[0].Rows.Count == 1)
{
    Byte[] data = new Byte[0];
    data = (Byte[])(dataSet.Tables[0].Rows[0]["pic"]);
    MemoryStream mem = new MemoryStream(data);
    yourPictureBox.Image= Image.FromStream(mem);
} 

E isso deve ser sobre isso. Você pode querer fazer melhores verificações de segurança, mas isso deve ajudá-lo a começar.