sql >> Database teknologi >  >> RDS >> Sqlserver

Hvordan indlæses billede fra SQL Server til billedboksen?

Du har aldrig uploadet billedindholdet til databasen. Det er bare filnavnet.

Sig som et eksempel, at du har en filsti at arbejde med (det ser ud til, at du har, givet spørgsmålets indhold). I din ansøgning vil du uploade dette til databasen i dette format:

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();

Husk at dit pic felt vil højst sandsynligt skulle ændre datatype. En almindelig type for disse oplysninger er VARBINARY .

Den næste del er at læse filen ind i en PictureBox. Til dette skal du VÆLGE dataene ud:

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);
} 

Og det burde handle om det. Du ønsker måske at udføre bedre sikkerhedstjek, men dette burde hjælpe dig i gang.



  1. Udskydelig, ufølsom unik begrænsning

  2. Node.js returnerer resultat fra MySQL-forespørgsel

  3. PostgreSQL - Sådan konverteres sekunder i et numerisk felt til TT:MM:SS

  4. Udvid et GROUP BY og HAVING resultatsæt