3

I have a User table:

Name varchar(20)
Picture image

I want to store a image into the Picture column -- how can I achieve this using SQL Scripts?

John MacIntyre
  • 12,910
  • 13
  • 67
  • 106

2 Answers2

11

Here is a sample code for storing image to sql server :

SqlConnection conn = new SqlConnection(connectionString);

try
{
    int imageLength = uploadInput.PostedFile.ContentLength;
    byte[] picbyte = new byte[imageLength];
    uploadInput.PostedFile.InputStream.Read (picbyte, 0, imageLength);

    SqlCommand command = new SqlCommand("INSERT INTO ImageTable (ImageFile) VALUES (@Image)", conn);
    command.Parameters.Add("@Image", SqlDbType.Image);
    command.Parameters[0].Value = picbyte;

    conn.Open();
    command.ExecuteNonQuery();
    conn.Close();
}
finally
{
    if (conn.State != ConnectionState.Closed)
    {
        conn.Close();
    }
}

NOTE : uploadInput is a file input control, to upload image file to server. The code taken from an ASP.NET application.

EDIT : Here is the insert script to an image typed column :

INSERT INTO ImageTable (ImageColumn)

SELECT ImageColumn FROM 
OPENROWSET(BULK N'C:\SampleImage.jpg', SINGLE_BLOB) 
AS ImageSource(ImageColumn);
Canavar
  • 47,715
  • 17
  • 91
  • 122
  • 1
    i think we are using C# code to insert the images to SQL Server but is there any SQL Script such as ( Insert INTO Tbale_Name(Name,Picture) Values ('Venkat','Here the Image path') like this ....Dont mind for asking these question's i am new to RDBMS –  Apr 13 '09 at 17:18
  • How Do You Store images in FlatFile? –  Apr 13 '09 at 17:47
2

For purely scripted access, look up the BULK command in Books Online. SQL Server 2005 allows you to pull binary data directly from disk. This will not work with previous versions of SQL server however.

flatline
  • 42,083
  • 4
  • 31
  • 38