/ / SQL Serverからxmlデータ型でXDocumentを作成する - sql、xml、linq-to-xml

SQL Serverからxmlデータ型でXDocumentを作成する - sql、xml、linq-to-xml

私はこのテーブルを持っています: ID | FILE

1 | ROOT> データ型=(ローカル);初期カタログ= testForDLL;統合セキュリティ= SSPI;セキュリティ情報の保持= False;要素タイプ= "DATABASE" CNNSTR = "データソース= QUERY = "SELECT * FROM TBL1 where id = 1" /> ROOT>

2 | ROOT データ型=(ローカル);初期カタログ= testForDLL;統合セキュリティ= SSPI;セキュリティ情報の保持= False;要素タイプ= "DATABASE" CNNSTR = "データソース= QUERY = "SELECT * FROM TBL2 where id = 1" /> ROOT>

そして、私は2番目の列から値をロードし、そのXDOCUMENTを作成します。 これまで私はこのコードを持っています:

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
}

あなたが私を助けるために必要なものを尋ねてください。

回答:

回答№1は0

私はこのコードの問題を解決したと思う。

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;
}

あなたはそれが最高の解決策だと思いますか?