Hola y gracias de antemano.
Quiero leer todas las tuplas de una tabla e ir guardando uno de los campos en un fichero de texto.
Esto es lo que hago:
string iniciativa = "D:\output\iniciativa.xml";
StreamWriter writer = File.CreateText(iniciativa);
// Configuración de las conexiones y consultas necesarias.
string connectionString = ConfigurationManager.ConnectionStrings["LeyesConnectionString"].ConnectionString;
SqlConnection SqlConn = new SqlConnection(connectionString);
string queryInciativa = "SELECT PreEpigrafe, TextoEpigrafe, Parrafo, Texto FROM EstructuraLey";
SqlCommand comIniciativa = new SqlCommand(queryInciativa, SqlConn);
int PreEpigrafe = 1;
int TextoEpigrafe = 1;
int Parrafo = 1;
SqlConn.Open();
SqlDataReader drInicativa = comIniciativa.ExecuteReader();
while (drInicativa.Read())
{
//AQUÍ ME DA ERROR. ME DICE:
Error 1 No se puede convertir implícitamente el tipo 'object' en 'int'. Ya existe una conversión explícita (compruebe si le falta una conversión).
// Decir, que tanto la primera, segunda y tercera columna son de tipo ENTERO.
int temp1 = drInicativa.GetValue(0);
int temp2 = drInicativa.GetValue(1);
int temp3 = drInicativa.GetValue(2);
if (temp1 == PreEpigrafe){
System.IO.StreamWriter sw = new System.IO.StreamWriter(iniciativa, true);
sw.WriteLine("<PreEpigrafe>" + drInicativa.GetValue(3) + "</PreEpigrafe>");
sw.Close();
PreEpigrafe++;
}
else if (temp2 == TextoEpigrafe)
{
System.IO.StreamWriter sw1 = new System.IO.StreamWriter(iniciativa, true);
sw1.WriteLine("<TextoEpigrafe>" + drInicativa.GetValue(3) + "</TextoEpigrafe>");
sw1.Close();
if (temp3 == Parrafo)
{
System.IO.StreamWriter sw2 = new System.IO.StreamWriter(iniciativa, true);
sw2.WriteLine("<p>" + drInicativa.GetValue(3) + "</p>");
sw2.Close();
Parrafo++;
}
}
}
SqlConn.Close();
}
A ver si alguien puede ayudarme...
GRACIAS.