У меня работает следующая команда SQL Server: (она вставляет данные в таблицу)
try
{
// Open conn
conexion.Open();
// New trans
SqlTransaction transaccion = conexion.BeginTransaction();
// Command
SqlCommand comandoAEjecutar = new SqlCommand
{
Connection = conexion,
Transaction = transaccion,
CommandText = @"
INSERT INTO [dbo].[table_battery]
([capacity], [description], [image], [price])
VALUES
(@capacity, @description, @fileContent, @price)
"
};
int capacity = 50;
string descr = "Funciona2";
float price = 70;
string path = @"C:\Users\Juan\Desktop\Ingeniería Informática\2 año\2º Cuatrimestre\Programación Visual Avanzada\ProyectoFinal\AJMobile\AJMobile\src\images\Battery\baterry_4000.png";
byte[] fileContent = File.ReadAllBytes(path);
comandoAEjecutar.Parameters.Add("@capacity", SqlDbType.Int).Value = capacity;
comandoAEjecutar.Parameters.Add("@description", SqlDbType.VarChar).Value = descr;
comandoAEjecutar.Parameters.Add("@fileContent", SqlDbType.VarBinary).Value = fileContent;
comandoAEjecutar.Parameters.Add("@price", SqlDbType.Float).Value = price;
int numeroFilasAfectadas = comandoAEjecutar.ExecuteNonQuery();
}
Как видите, я добавил параметры и их значения из оператора SqlCommand
.Я хочу включить параметры в это утверждение и после установки их значений, например:
try
{
// Open conn
conexion.Open();
// New trans
SqlTransaction transaccion = conexion.BeginTransaction();
// Command
SqlCommand comandoAEjecutar = new SqlCommand
{
Connection = conexion,
Transaction = transaccion,
CommandText = @"
INSERT INTO [dbo].[table_battery]
([capacity], [description], [image], [price])
VALUES
(@capacity, @description, @fileContent, @price)
",
Parameters =
{
// I wanna set their types too
"@capacity" as SqlDbType.Int,
"@description" as SqlDbType.VarChar,
"@fileContent" as SqlDbType.VarBinary,
"@price" as SqlDbType.Float
}
};
int capacity = 50;
string descr = "Funciona2";
float price = 70;
string path = @"C:\Users\Juan\Desktop\Ingeniería Informática\2 año\2º Cuatrimestre\Programación Visual Avanzada\ProyectoFinal\AJMobile\AJMobile\src\images\Battery\baterry_4000.png";
byte[] fileContent = File.ReadAllBytes(path);
// Add values to parameters
comandoAEjecutar.Parameters["@capacity"].Value = capacity;
comandoAEjecutar.Parameters["@description"].Value = descr;
comandoAEjecutar.Parameters["@fileContent"].Value = fileContent;
comandoAEjecutar.Parameters["@price"].Value = price;
int numeroFilasAfectadas = comandoAEjecutar.ExecuteNonQuery();
}
Существует в любом случае для этого?Меня пробовали разными способами, но я не смог этого достичь.
Спасибо.