、のvarbinary(MAX)にデータベース・イメージフィールドにデータ型を変更し、私はプロセスでバイトを失うことはありませんでしたので、画像をデータベースに挿入するためにSqlDbType.VarBinaryを定義するストアドプロシージャを使用して、 Imageフィールドに変数型[]バイトを保存する前に。
表:
CREATE TABLE [dbo].[SoporteIndicador](
[Codigo] [int] IDENTITY(1,1) NOT NULL,
[CodigoIM] [varchar](50) NOT NULL,
[CodigoGI] [varchar](50) NOT NULL,
[Soporte] [varbinary](max) NOT NULL,
[NombreSoporte] [varchar](150) NOT NULL,
[UsuarioRegistro] [varchar](50) NOT NULL,
[FechRegistro] [datetime] NOT NULL
エラー:
public static int RegistrarSoporteIndicador(SoporteIndicador soporteIndicador)
{
int Ingreso = 0;
using (SqlConnection conexion = Conexion.ObtenerConexion())
{
SqlCommand Ingresar = new SqlCommand(string.Format(
"Insert Into SoporteIndicador (CodigoIM,CodigoGI,Soporte,NombreSoporte,UsuarioRegistro,FechRegistro) values ('{0}', '{1}', '{2}', '{3}', '{4}', '{5}')",
soporteIndicador.CodigoIM,
soporteIndicador.CodigoGI,
soporteIndicador.Soporte, //Type []byte soporteIndicador.NombreSoporte,
soporteIndicador.UsuarioRegistro,
soporteIndicador.FechRegistro), conexion);
Ingreso = Ingresar.ExecuteNonQuery();
conexion.Close();
}
SqlConnection cerrarcon = Conexion.CerrarConexion();
return Ingreso;
}
が解決:
public static int RegistrarSoporteIndicador(SoporteIndicador soporteIndicador)
{
int Ingreso = 0;
using (SqlConnection conexion = Conexion.ObtenerConexion())
{
using (SqlCommand cmd = new SqlCommand("PA_Guardar_Registro", conexion))
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("CodigoIM", soporteIndicador.CodigoIM);
cmd.Parameters.AddWithValue("CodigoGI", soporteIndicador.CodigoGI);
SqlParameter imageParam = cmd.Parameters.Add("@Soporte", System.Data.SqlDbType.VarBinary);
imageParam.Value = soporteIndicador.Soporte;
cmd.Parameters.AddWithValue("NombreSoporte", soporteIndicador.NombreSoporte);
cmd.Parameters.AddWithValue("UsuarioRegistro", soporteIndicador.UsuarioRegistro);
cmd.Parameters.AddWithValue("FechRegistro", soporteIndicador.FechRegistro);
Ingreso = cmd.ExecuteNonQuery();
conexion.Close();
}
}
SqlConnection cerrarcon = Conexion.CerrarConexion();
return Ingreso;
}
'image'データ型は、SQLの将来のバージョンで削除されますSer ver。新しい開発作業でこのデータ型を使用しないようにし、現在使用しているアプリケーションを変更する予定です。代わりに 'varbinary(max)'を使用してください(サイズは** 20億バイト**(2 GB)) - ** NOT ** **は8000バイトだけです[詳細はこちら](http://msdn.microsoft.com /en-us/library/ms187993.aspx) –