Hello,
When executing a list in .csv and inserting them in the C # proc, an error is given in one of the lines, but I would like the following to continue after the error:
try {
reader = cmd.ExecuteReader ();
Catch (Exception ex)
{
message;
When you go here, I would like the code to continue ...
}
Even though this is still not possible, how can I do it?
try {
string ProcedureInsertPROC = "PROC";
string ProcedureInsertProdutoPROC = "PROC";
string ProcedureInsertPracaPROC = "PROC";
SqlDataReader reader;
List<string> idsRollback = new List<string>();
idsRollback.Add("PROC;DEPA;PROD;PRACA");
string ultimoPROCId = string.Empty;
string ultimoDepaId = string.Empty;
using (SqlConnection sqlConn = new SqlConnection(conexao))
{
foreach (var PROC in UltimoDictImportadoChange)
{
bool linhaok = true;
if (string.IsNullOrEmpty(PROC.valorqualquer) ||
string.IsNullOrEmpty(PROC.valorqualquer) ||
string.IsNullOrEmpty(PROC.valorqualquer) ||
PROC.Peso < 0 ||
PROC.valorqualquer < 0 ||
PROC.valorqualquer < 0)
{
linhaok = false;
}
if (linhaok)
{
using (SqlCommand cmd = new SqlCommand(ProcedureInsertPROC, sqlConn))
{
sqlConn.Open();
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@NOME", prod.valorqualquer);
cmd.Parameters.AddWithValue("@NOME", prod.valorqualquer);
cmd.Parameters.AddWithValue("@NOME", prod.valorqualquer);
cmd.Parameters.AddWithValue("@NOME", v);
cmd.Parameters.AddWithValue("@NOME", CustomStringConvert.ToParameter(PROC.Fabricante, Fabricantes));
cmd.Parameters.AddWithValue("@NOME", PROC.Palavra_para_pesquisa);
cmd.Parameters.AddWithValue("@NOME", PROC.a;
cmd.Parameters.AddWithValue("@NOME", PROC.b);
cmd.Parameters.AddWithValue("@NOME", CustomStringConvert.ToParameter(PROC.v));
cmd.Parameters.AddWithValue("@NOME", CustomStringConvert.ToParameter(PROC.prod.valorqualquer));
cmd.Parameters.AddWithValue("@NOME", PROC.valorqualquer);
cmd.Parameters.AddWithValue("@NOME", CustomStringConvert.ToParameter(PROC.Familia,prod.valorqualquer));
cmd.Parameters.AddWithValue("@NOME", CustomStringConvert.ToParameter(PROC.Tipo, v));
cmd.Parameters.AddWithValue("@NOME", CustomStringConvert.ToParameter(PROC.Controle, v));
cmd.Parameters.AddWithValue("@NOME", CustomStringConvert.ToParameter(PROC.Departamento.Value, valorqualquer));
cmd.Parameters.AddWithValue("@NOME", CustomStringConvert.ToParameter(PROC.valorqualquer, valorqualquer));
cmd.Parameters.AddWithValue("@NOME", CustomStringConvert.ToParameter(PROC.valorqualquer.Value, valorqualquer));
cmd.Parameters.AddWithValue("@NOME", CustomStringConvert.ToParameter(PROC.valorqualquer.Value, valorqualquer));
cmd.Parameters.AddWithValue("@NOME", CustomStringConvert.ToParameter(PROC.valorqualquer.Value, valorqualquer));
reader = cmd.ExecuteReader();
while (reader.Read())
{
ultimoPROCId = reader["PROC"].ToString();
ultimoDepaId = reader["DEPARTAMENTO"].ToString();
idsRollback.Add(ultimoPROCId + ";" + ultimoDepaId + ";0;0");
}
sqlConn.Close();
}
foreach (var prod in PROC.Produtos)
{
if (string.IsNullOrEmpty(prod.CodExterno) ||
prod.Quantidade < 1 ||
prod.PorcentagemDesconto < 0)
{
literalTabelaImportacao.Text = AlertErrorBootstrap("Houve um erro ao inserir os produtos referentes ao PROC com o código externo " + PROC.valorqualquer + "<br />Valide os dados importados no backoffice para evitar duplicidades.");
return;
}
using (SqlCommand cmd = new SqlCommand(ProcedureInsertProdutoPROC, sqlConn))
{
sqlConn.Open();
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@NOME", prod.valorqualquer);
cmd.Parameters.AddWithValue("@NOME", prod.valorqualquer);
cmd.Parameters.AddWithValue("@NOME", prod.valorqualquer);
cmd.Parameters.AddWithValue("@NOME", prod.valorqualquer);
cmd.Parameters.AddWithValue("@NOME", prod.valorqualquer);
cmd.Parameters.AddWithValue("@NOME", prod.valorqualquer);
cod_externo = prod.CodExterno;
reader = cmd.ExecuteReader();
while (reader.Read())
{
if (reader["PRODUTO_PROC"].ToString().Count() < 3)
{
literalTabelaImportacao.Text = AlertErrorBootstrap("Houve um erro ao inserir os produtos referentes ao PROC com o código externo " + PROC.valorqualquer + "<br />Valide os dados importados no backoffice para evitar duplicidades.");
return;
}
idsRollback.Add(ultimoPROCId + ";NULL;" + reader["PRODUTO_PROC"].ToString() + ";0");
}
sqlConn.Close();
}
}
catch(exception ex){
}
Hugs,