¿Que le falta a esta funcion...?
Publicado por derkaiser (6 intervenciones) el 24/08/2007 12:32:48
A ver si me podeis ayudar con la siguiente funcion:
Con ella quiero leer un fichero linea a linea, y de cada una de ellas extraer una informacion que esta a continuacion de la cadena "VALUES (", y que finaliza cuando llega a la siguiente coma ",".
En realidad me compila bien y no da error pero cuando pulso el boton que activa esta funcion siempre me sale el messagebox del catch.
Otra duda: i = linea.IndexOf("VALUES"); --> ¿esta linea de codigo me devuelve la posicion de la linea en la que empieza la cadena ,verdad?
Bueno, os agradeceria cualquier comentario. Un saludo y gracias de antemano.
public void procesarFicheros()
{
FileStream fichero = new FileStream("\\Agronomos\\tablas_verdiblanca\\tabla_empleados.sql", FileMode.Open, FileAccess.Read);
StreamReader lector = new StreamReader(fichero);
FileStream fichero2 = new FileStream("\\Ids_empleados.txt", FileMode.Create, FileAccess.Write);
StreamWriter escritor = new StreamWriter(fichero2);
string linea = "";
try
{
// Lee linea a linea
while ((linea = lector.ReadLine()) != null)
{
string Identificador = "";
Int32 i = 0;
i = linea.IndexOf("VALUES");
if (i!=0)
{
//Primer campo a analizar
Int32 j = i + 8;
Int32 iniciocad = j;
while (linea.Substring(j, 1) != ",")
{
j = j + 1;
}
Int32 fincad = j;
Identificador = linea.Substring(iniciocad, fincad - iniciocad);
}
escritor.WriteLine(Identificador + ",");
}
// Cerramos la conexion
lector.Close();
escritor.Close();
}
catch
{
MessageBox.Show("Error al cargar el fichero.", "¡¡¡ ATENCION !!!");
}
}
Con ella quiero leer un fichero linea a linea, y de cada una de ellas extraer una informacion que esta a continuacion de la cadena "VALUES (", y que finaliza cuando llega a la siguiente coma ",".
En realidad me compila bien y no da error pero cuando pulso el boton que activa esta funcion siempre me sale el messagebox del catch.
Otra duda: i = linea.IndexOf("VALUES"); --> ¿esta linea de codigo me devuelve la posicion de la linea en la que empieza la cadena ,verdad?
Bueno, os agradeceria cualquier comentario. Un saludo y gracias de antemano.
public void procesarFicheros()
{
FileStream fichero = new FileStream("\\Agronomos\\tablas_verdiblanca\\tabla_empleados.sql", FileMode.Open, FileAccess.Read);
StreamReader lector = new StreamReader(fichero);
FileStream fichero2 = new FileStream("\\Ids_empleados.txt", FileMode.Create, FileAccess.Write);
StreamWriter escritor = new StreamWriter(fichero2);
string linea = "";
try
{
// Lee linea a linea
while ((linea = lector.ReadLine()) != null)
{
string Identificador = "";
Int32 i = 0;
i = linea.IndexOf("VALUES");
if (i!=0)
{
//Primer campo a analizar
Int32 j = i + 8;
Int32 iniciocad = j;
while (linea.Substring(j, 1) != ",")
{
j = j + 1;
}
Int32 fincad = j;
Identificador = linea.Substring(iniciocad, fincad - iniciocad);
}
escritor.WriteLine(Identificador + ",");
}
// Cerramos la conexion
lector.Close();
escritor.Close();
}
catch
{
MessageBox.Show("Error al cargar el fichero.", "¡¡¡ ATENCION !!!");
}
}
Valora esta pregunta


0