2012-11-02 6 views
5

내 기본 코딩 이상은 .net 응용 프로그램입니다. 그래서 응용 프로그램 디자인에 대한 기술이 제한되어 있습니다.전체 SQL 테이블을 XML로 내보내는 방법

뷰를 사용하여 데이터베이스에서 전체 테이블을 XML 파일로 내보내려고합니다. 그런 다음 스프레드 시트로 내보낼 것입니다. 직접 찾아보고 직접 찾지 못했습니다.

나는 성공적으로이 코드를 사용하여 XML 파일 만 1 열을 내 보낸 :

DataConn.UserName = "***"; 
DataConn.Password = "***"; 
DataConn.SqlServer = "***"; 
DataConn.Database = "***"; 

const string strSql = "SELECT TOP 1 * FROM vwGetStaffDetails FOR XML AUTO"; 

using (SqlCommand sqlComm = new SqlCommand(strSql, DataConn.Connect()) { CommandType = CommandType.Text }) 
{ 
    string result = sqlComm.ExecuteScalar().ToString(); 

    File.WriteAllText(@"C:\Temp\text.xml", result); 
} 

내가 ExecuteReader 또는 ExecuteXmlReader, 나는 실제 결과를 얻을하지 않습니다 사용할 때마다.

모든 입력란은 어떻게 받습니까?

편집 :Execute Scalar을 올바르게 사용하려면 Top 1을 사용해야했습니다. 아래의 솔루션을 사용

, 내 파일을 보여줍니다 : 그것은 < 등 대신 적절한 XML의를 쓰고

<?xml version="1.0" standalone="yes"?> 
<NewDataSet> 
    <Table> 
    <XML_F52E2B61-18A1-11d1-B105-00805F49916B>&lt;vwGetStaffDetails ImageLoc="****.jpg" LName="GAINES" FName="****" StaffTitle="****" JobPosition="****" Email="***@***.com" Code="***" Number="******" PhoneTypeID="1"/&gt;</XML_F52E2B61-18A1-11d1-B105-00805F49916B> 
    </Table> 
</NewDataSet> 

. 그것을 고치는 어떤 방법이 있습니까?

답변

7

SqlDataAdapterSystem.Data.DataSet을 사용하여 DataTable을로드하면 XML에 쓸 수 있습니다. 이 방법은 SQL에서 XML 코드를 제거하고 .NET 모든 것을 변환 드리겠습니다을 사용

const string strSql = "SELECT * FROM vwGetStaffDetails"; 

using (SqlCommand sqlComm = new SqlCommand(strSql, DataConn.Connect()) { CommandType = CommandType.Text }) 
{ 
    SqlDataAdapter da = new SqlDataAdapter(sqlComm); 
    DataSet ds = new DataSet(); 
    da.Fill(ds); 
    ds.Tables[0].WriteXml(@"C:\Temp\text.xml"); 
} 

편집. 이를 반영하기 위해 SQL 명령을 변경했습니다.

+0

놀라운 기능! 하지만 ... 내 편집을 확인하십시오. – TheGeekZn

+0

방금 ​​SQL에서 XML 처리를 제거하고 .NET에서 모든 것을 변환하도록이 방법을 사용하려면 내 대답을 편집하십시오. –

+0

Your'e amazing : D 감사합니다.이 사람이 대답을 찾는 데 도움이되기를 바랍니다. – TheGeekZn

0

출력이 XML 인 쿼리를 작성하는 방법을 살펴볼 수 있습니다.
인터넷에 관한 많은 예제와 튜토리얼이 있습니다. 이 http://msdn.microsoft.com/en-us/library/bb510462.aspx은 그 중 하나입니다.

내가 잘못 입력하지 않은 경우 반환되는 결과는 내부에 완전한 XML 항목이 포함 된 문자열이어야합니다.

관련 문제