SqlDataAdapter 및 DataSet을 사용하여 MSSQL 서버에서 데이터를 검색하고 있습니다. 해당 DataSet에서 DataTable을 생성합니다. 내 목표는 요소의 쉼표로 구분 된 문자열로 테이블의 각 열을 변환하는 것입니다. 분리 문자 작업을하기 전에 먼저 문자열 변환을 시도 할 것이라고 생각했습니다.DataTable 열의 전체 내용을 C#으로 구분 된 문자열로 변환하는 방법은 무엇입니까?
코드는 ASP.Net 페이지의 코드 숨김에서 실행됩니다. 궁극적 인 목표는 문자열을 jscript 변수에 전달하는 것입니다. 함수 요구 사항이므로 열에서 구분 된 문자열을 만들고 jscript 변수로 끝나야합니다. LOOP1 것들에
DataSet myDataSet = new DataSet();
mySqlDataAdapter.Fill(myDataSet);
DataTable temperature = myDataSet.Tables["Table"];
// LOOP1
foreach (DataRow row in temperature.Rows)
// this loop works fine and outputs all elements
// of the table to the web page, this is just to
// test things out
{
foreach (DataColumn col in temperature.Columns)
{
Response.Write(row[col] + " ### ");
}
Response.Write("<br>");
}
// LOOP2
foreach (DataColumn column in temperature.Columns)
// this loop was meant to take all elements for each
// column and create a string, then output that string
{
Response.Write(column.ToString() + "<br>");
}
잘 작동 :
는 여기에 내가 지금까지 무슨이다. 내 데이터에는 4 개의 열이 있으며, 모두 웹 페이지의 행당 하나의 레코드로 적절하게 렌더링됩니다.
http://msdn.microsoft.com/en-us/library/system.data.datacolumn.tostring.aspx에서 LOOP2 코드를 보았습니다. 실제로는 내가 원하는 것을하지 않는다는 것 외에는 필요한 것을 정확하게 수행하는 것으로 보입니다.
LOOP2가하는 유일한 일은 웹 페이지에 4 줄을 쓰는 것입니다. 각 행에는 해당 테이블 열의 머리글이 있지만 추가 데이터는 없습니다. 분명히 내 부분에 논리 결함이 있거나 DataColumn 및 .toString을 사용하여 작동하는 방식을 오해하고 있습니다. 이걸 좀 도와주세요. 미리 감사드립니다.
편집 : 내가 결국 원하는 것은 네 개의 문자열이 Table quesry result @ ImageShack
여기로부터 생성 될 문자열에 대한 예입니다 : 여기에 SQL 쿼리 결과의 예는,이 표는 모습입니다입니다 두 번째 열 : "-6.7, -7, -7.2, -7.3, -7.3". 재산 이 설정되어있는 경우
페이지에 표시되는 데이터, 즉 레코드 당 하나의 문자열을 원하십니까? –
현재 예, 열마다 하나의 문자열, 즉 열의 모든 레코드가 단일 문자열로 변환됨을 의미합니다. 이 모든 이유는 response.write()보다 jscript 변수에 문자열을 전달하기 때문입니다. –