Personal already have my dataTable filled with values that came from a .csv file now need to insert into the database without using SQLBulkCopy ... how to do? via c #
This method fills my dataTable:
public DataTable RetornaDtPreenchido(string caminho){
DataTable dt = CriaDataTable();
using (StreamReader arquivo = new StreamReader(caminho)){
string linhaArquivo;
string[] campos;
DataRow registro;
bool cabecalhoJaLido = false;
while (!arquivo.EndOfStream){
linhaArquivo = arquivo.ReadLine();
if (!cabecalhoJaLido){
cabecalhoJaLido = true;
continue;
}
campos = linhaArquivo.Split(new string[] { ";" }, StringSplitOptions.None);
registro = dt.NewRow();
try{
bool resultNumero;
int numero;
resultNumero = int.TryParse(campos[4], out numero);
registro["Numero"] = numero;
if (!resultNumero){
Label1.Visible = true;
Label1.Text = "Campo numero não esta vindo como valor inteiro";
}
bool resultTipoPessoa;
int tipoPessoa;
resultTipoPessoa = int.TryParse(campos[2], out tipoPessoa);
registro["TipoPessoa"] = tipoPessoa;
if (!resultTipoPessoa || tipoPessoa > 1){
Label2.Visible = true;
Label2.Text = "Campo Tipo Pessoa com valor inválido";
}
bool resultEstado;
int estado;
resultEstado = int.TryParse(campos[7], out estado);
registro["Estado"] = estado;
if (!resultEstado || RetornaListaEstado(estado) == false){
Label3.Visible = true;
Label3.Text = "Campo Codigo Estado não é válido";
}
if (campos[0].Length > 70){
registro["Nome"] = "";
Label4.Visible = true;
Label4.Text = "Campo Nome excedendo limite de caracteres";
}else{
registro["Nome"] = campos[0].ToString().Trim();
}
if (fgCpfCheck(campos[1]) == false){
registro["Documento"] = "";
Label5.Visible = true;
Label5.Text = "CPF Inválido";
}else{
registro["Documento"] = campos[1].Trim().ToString();
}
if (campos[3].Length > 100){
registro["Endereco"] = "";
Label6.Visible = true;
Label6.Text = "Campo Endereco excedendo limite de caracteres";
}else{
registro["Endereco"] = campos[3].Trim().ToString();
}
if (campos[5].Length > 20){
registro["Complemento"] = "";
Label7.Visible = true;
Label7.Text = "Campo Complemento excedendo limite de caracteres";
}else{
registro["Complemento"] = campos[5].Trim().ToString();
}
if (campos[6].Length > 60){
registro["Bairro"] = "";
Label8.Visible = true;
Label8.Text = "Campo Bairro excedendo limite de caracteres";
}else{
registro["Bairro"] = campos[6].Trim().ToString();
}
if (campos[8].Length > 100){
registro["Cidade"] = "";
Label9.Visible = true;
Label9.Text = "Campo Cidade excedendo limite de caracteres";
}else{
registro["Cidade"] = campos[8].Trim().ToString();
}
if (campos[9].Length > 10){
registro["CEP"] = "";
Label10.Visible = true;
Label10.Text = "Campo CEP excedendo limite de caracteres";
}
{
registro["CEP"] = campos[9].Trim().ToString();
}
if (Label2.Visible == false && Label3.Visible == false){
dt.Rows.Add(registro);
}else{
Label11.Visible = true;
Label11.Text = "Operação não realizada!";
}
}
catch (Exception ex){
throw new Exception(ex.Message);
}
}
}
return dt;
}