GDViewer Image to SQL Database

Discussions about image processing and document imaging.
Post Reply
rwebster
Posts: 4
Joined: Wed Jan 23, 2013 11:13 pm

GDViewer Image to SQL Database

Post by rwebster » Fri Apr 12, 2013 9:22 pm

I have an application that users scan a Drivers License into and Displays on screen using GDViewer. How do I go about getting that image saved into a Microsoft 2008r2 SQL Database.

Thanks

rwebster
Posts: 4
Joined: Wed Jan 23, 2013 11:13 pm

Re: GDViewer Image to SQL Database

Post by rwebster » Tue Apr 16, 2013 9:57 pm

Does anyone have information on getting the image to any other Databases? Any help is better than nothing.

Thanks

dan276
Posts: 20
Joined: Fri Mar 15, 2013 1:07 am

Re: GDViewer Image to SQL Database

Post by dan276 » Wed Apr 17, 2013 6:34 am

Well you're going to have to put it into a byte array. SQL Server has a image variable you can use if you want, or varbinary(max). This probably isn't the forum for this, but I have this code handy. I could probably put in a few more usings in my code too, but here it is.

public static int InsertImage(byte[] imageData, byte[] imageThumbData, int userId, string fileName)
{
string connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["arDBserver"].ConnectionString;

using (SqlConnection conn = new SqlConnection(connectionString))
{
string cmdText = @"INSERT INTO nd_images
(ImageData,ImageThumb,UploadDate,UserId,FileName)
VALUES(@ImageData,@imageThumbData,GETDATE(), @UserID,@FileName) SET @Identity = SCOPE_IDENTITY()";
SqlCommand cmd = new SqlCommand(cmdText, conn);

SqlParameter identityParam = new SqlParameter("@Identity", SqlDbType.Int, 0, "ImageID");
identityParam.Direction = ParameterDirection.Output;

cmd.Parameters.AddWithValue("@ImageData", imageData);
cmd.Parameters.AddWithValue("@imageThumbData", imageThumbData);
cmd.Parameters.AddWithValue("@FileName", fileName);
cmd.Parameters.AddWithValue("@UserID", userId);

cmd.Parameters.Add(identityParam);

conn.Open();
cmd.ExecuteNonQuery();

return (int)identityParam.Value;
}
}

If you want to insert into a varbinary(max) for a regular file that could be an image too or maybe a blob in other database, here is code for inserting a file:
public static int InsertFile(byte[] data, string description, int userId, string fileName)
{
string connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["arDBserver"].ConnectionString;

using (SqlConnection conn = new SqlConnection(connectionString))
{
string cmdText = @"INSERT INTO nd_files
(fileName,data,description,userId)
VALUES(@fileName,@data,@description,@userId) SET @Identity = SCOPE_IDENTITY()";
SqlCommand cmd = new SqlCommand(cmdText, conn);



SqlParameter identityParam = new SqlParameter("@Identity", SqlDbType.Int, 0, "fileNo");
identityParam.Direction = ParameterDirection.Output;

cmd.Parameters.AddWithValue("@data", data);
cmd.Parameters.AddWithValue("@description", description);
cmd.Parameters.AddWithValue("@fileName", fileName);
cmd.Parameters.AddWithValue("@userId", userId);

cmd.Parameters.Add(identityParam);

conn.Open();
cmd.ExecuteNonQuery();

return (int)identityParam.Value;
}
}

Post Reply

Who is online

Users browsing this forum: No registered users and 2 guests