Используйте jQuery для отображения заголовков столбцов и строк из таблицы SQL - PullRequest
2 голосов
/ 19 октября 2011

Я пытаюсь отобразить столбцы и строки из таблицы SQL Server с помощью jQuery

Я выбираю таблицы с помощью SELECT * FROM table1, поэтому я не знаю, что такое заголовки столбцов, если не получу их отдельно от sys.columns.Выходные данные оператора SELECT также выходят в формате XML для борьбы с XSS.

Как выбрать столбцы

SELECT c.column_id, c.name, y.system_type_id, y.name AS system_type_name
FROM sys.columns AS c
JOIN sys.types AS y ON c.system_type_id = y.system_type_id
JOIN sys.tables AS t ON c.object_id = t.object_id
WHERE y.name NOT LIKE 'sysname' 
AND t.object_id = '1234567890'
FOR XML RAW, TYPE, ROOT('rows');

Пример вывода XML

<rows>
  <row column_id="1" name="id" system_type_id="56" system_type_name="int" />
  <row column_id="5" name="added" system_type_id="61" system_type_name="datetime" />
  <row column_id="4" name="allowlogin" system_type_id="104" system_type_name="bit" />
  <row column_id="3" name="pw" system_type_id="165" system_type_name="varbinary" />
  <row column_id="2" name="un" system_type_id="231" system_type_name="nvarchar" />
</rows>

Как явыберите строки

SELECT * FROM table1 FOR XML RAW, TYPE, ROOT('rows')

Я не могу понять (вероятно, потому что уже поздно), как это сделать.Есть идеи?

1 Ответ

0 голосов
/ 03 ноября 2011

Если я вас правильно понимаю, вы хотите, чтобы имена столбцов были в одной строке, например: field1, field2, field3 ...

Если это так, вы можете сделать это:

SELECT STUFF((SELECT ','+name FROM YourDatabaseName.sys.columns WHERE object_id = OBJECT_ID('YourTableName') ORDER BY column_id FOR XML PATH('')),1,1,'') 

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...