Tengo esta mesa: ID | ARCHIVO
1 | RAÍZ> ELEMENT TYPE = "DATABASE" CNNSTR = "Fuente de datos = (local); Catálogo inicial = testForDLL; Seguridad integrada = SSPI; Información de seguridad persistente = Falso;" QUERY = "SELECT * FROM TBL1 WHERE id = 1" /> RAÍZ>
2 | RAÍZ ELEMENT TYPE = "DATABASE" CNNSTR = "Fuente de datos = (local); Catálogo inicial = testForDLL; Seguridad integrada = SSPI; Información de seguridad persistente = Falso;" QUERY = "SELECT * FROM TBL2 WHERE id = 1" /> RAÍZ>
Y quiero cargar el valor de la segunda columna y crear un XDOCUMENT con eso. Hasta ahora tengo este código:
using (SqlConnection conn = new SqlConnection(cnnstr))
{
conn.Open();
SqlCommand com = conn.CreateCommand();
com.CommandText = "SELECT [FILE] FROM XML_Config WHERE id=" + id;
XDocument doc2 = new XDocument();
XmlReader dtRead = com.ExecuteXmlReader();
if (dtRead.Read())
doc2.Load(dtRead); -> This line has an error
}
Pide lo que quieras para ayudarme por favor.
Respuestas
0 para la respuesta № 1Creo que resolví el problema con este código.
using (SqlConnection conn = new SqlConnection(cnnstr))
{
string xmlstr;
conn.Open();
SqlCommand com = conn.CreateCommand();
com.CommandText = "SELECT [FILE] FROM XML_Config WHERE id=" + id;
SqlDataReader dtRead = com.ExecuteReader();
while (dtRead.Read())
xmlstr= dtRead.GetSqlString(0).ToString();
XDocument docBD = XDocument.Parse(xmlstr);
return docBD;
}
¿Crees que es la mejor solución?