[ Foro de C# ]
hola,necesito de su apoyo en este caso, estoy tratando de realizar un programa con C# que tiene el objetivo de leer un archivo TXT e insertarlos a una tabla Fox Pro, ya logre insertar un registro pero solo lo he podido hacer con la primera linea , mi duda es como podria hacer para recorrer linea por linea e insertarlo en la tabla?, por el momento estableci "partes[0], partes1 .... hasta el Partes[4]" que solo me trae los valores de la primera linea y que se repite de acuerdo a la cantidad de lineas que hay en el txt , ademas considerar que cada linea tiene 5 datos separados por un "|" .
Mi archivo de texto contiene en total dos lineas que deben ser insertadas y son las siguientes:
Alerta_MantenimMecanicoG1|Aviso N° 10003 el CS_VIQMEL -AUSVN /n /n Area: PLTXT /n /n Equipo: CS_VIQMEL- EQUNR +” - ”+ EQKTX /n /n Trabajo: QMARTX /n /n Servicio: CS_VIQMEL -INGRP+” - ”+ INNAM /n /n Solicitante: SNAME /n /n Prioridad: PRIOKX /n /n Descripción Aviso: CS_VIQMEL- QMTXT|03/11/2022|16:51:32|PENDIENTE
Alerta_MantenimMecanicoG1|Aviso N° 20003 el CS_VIQMEL -AUSVN /n /n Area: PLTXT /n /n Equipo: CS_VIQMEL- EQUNR +” - ”+ EQKTX /n /n Trabajo: QMARTX /n /n Servicio: CS_VIQMEL -INGRP+” - ”+ INNAM /n /n Solicitante: SNAME /n /n Prioridad: PRIOKX /n /n Descripción Aviso: CS_VIQMEL- QMTXT|03/11/2022|16:51:32|PENDIENTE
Tabla FoxPro: Como pueden ver en la tabla logre realizar la insercion pero solo es la primera linea la que se inserto y ademas se repite por segunda vez, no me trae el aviso N"20003"
El codigo c# que estoy usando es el siguiente :
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using System.Data.OleDb;
using System.Text.RegularExpressions;
using System.Threading;
namespace LeerArchivoParaEnviar
{
public class Program
{
public static void Main(string[] args)
{
string sBase = @"C:\Users\hcardenas\Desktop\DBF\Envio_Wh.DBF";
string sConn = "Provider = VFPOLEDB.1; Data Source = " + Path.GetDirectoryName(sBase) + ";";
using (OleDbConnection dbConn = new OleDbConnection(sConn))
{
try
{
dbConn.ConnectionString = sConn;
dbConn.Open();
//Inserta los datos
using (OleDbCommand cmd = new OleDbCommand("INSERT INTO Envio_Wh (User_Grupo,Mensaje,Fecha,Hora,Estado) VALUES (?,?,?,?,?)", dbConn))
{
string[] lines = System.IO.File.ReadAllLines(@"C:\temp\MensajesxEnviarWsap2.txt");
foreach (string line in lines)
{
string[] partes = line.Split('|');
Console.WriteLine(line);
cmd.Parameters.AddWithValue("@UserGrupo", partes[0]);
cmd.Parameters.AddWithValue("@Mensaje", partes[1]);
cmd.Parameters.AddWithValue("@Fecha", partes[2]);
cmd.Parameters.AddWithValue("@Hora", partes[3]);
cmd.Parameters.AddWithValue("@Estado", partes[4]);
cmd.ExecuteNonQuery();
}
}
dbConn.Close();
}
catch (Exception ex)
{
throw new Exception("No se pudo Realizar la insercion", ex);
}
}
System.Console.ReadLine();
}
}
}
Espero su ayuda y gracias por su tiempo.
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)