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
GDViewer Image to SQL Database
Re: GDViewer Image to SQL Database
Does anyone have information on getting the image to any other Databases? Any help is better than nothing.
Thanks
Thanks
Re: GDViewer Image to SQL Database
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;
}
}
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;
}
}
Who is online
Users browsing this forum: No registered users and 2 guests