Esta função pode ser colocada diretamente na classe que realiza os controles.
TpOperacao = indica se é update ou insert, função que é tratada direto no banco de dados.
public bool GravarAtualizar(char TpOperacao)
{
SqlConnection Conn = new SqlConnection(Componentes.Conexao1); \\utiliza a classe componentes que herda a classe banco.
Conn.Open();
SqlCommand cm = Conn.CreateCommand();
cm.CommandType = CommandType.StoredProcedure;
cm.CommandText = "SP_IU_Produto"; \\ nome da procedure no banco
try
{
cm.Parameters.Clear();\\limpa os parametros
\\"@xxxx" variável declarada na procedure.
cm.Parameters.Add("@cdProduto", SqlDbType.VarChar);
cm.Parameters[0].Value = cdProduto;
cm.Parameters.Add("@cdInventario", SqlDbType.Int);
cm.Parameters[1].Value = cdInventario;
cm.Parameters.Add("@dsProduro", SqlDbType.VarChar);
cm.Parameters[2].Value = dsProduro;
cm.Parameters.AddWithValue("@Qtde", SqlDbType.Decimal);
cm.Parameters[3].Value = Qtde;//.Replace(",", ".");
cm.Parameters.Add("@valor1 ", SqlDbType.Decimal);
if (Convert.ToString(valor1) != "")
{
cm.Parameters[4].Value = valor1;//.Replace(",", ".");
}
cm.Parameters.Add("@indiceValor1", SqlDbType.VarChar);
if (Convert.ToString(indiceValor1) != "")
{
cm.Parameters[5].Value = indiceValor1;
}
cm.Parameters.Add("@valor2 ", SqlDbType.Decimal);
if (Convert.ToString(valor2) != "")
{
cm.Parameters[6].Value = valor2;//.Replace(",", ".");
}
cm.Parameters.Add("@indiceValor2", SqlDbType.VarChar);
if (Convert.ToString(indiceValor2) != "")
{
cm.Parameters[7].Value = indiceValor2;
}
cm.Parameters.Add("@Imagem1", SqlDbType.Image);
cm.Parameters[8].Value = imagem1Byte;
cm.Parameters.Add("@Imagem2", SqlDbType.Image);
cm.Parameters[9].Value = imagem2Byte;
cm.Parameters.Add("@QtdeConferido ", SqlDbType.Decimal);
cm.Parameters[10].Value = QtdeConferido;
cm.Parameters.Add("@Ocorrencia", SqlDbType.VarChar);
cm.Parameters[11].Value = Ocorrencia;
cm.Parameters.Add("@TpOperacao", SqlDbType.Char);
cm.Parameters[12].Value = TpOperacao;
cm.Parameters.Add("@cdBarra", SqlDbType.VarChar);
cm.Parameters[13].Value = cdProduto;
cm.ExecuteNonQuery();
return true;
}
catch
{
return false;
}
finally
{
cm.Dispose();
Conn.Close();
Conn.Dispose();
}
Att.
Fernando Valota
Nenhum comentário:
Postar um comentário