Как да сортирам набор от данни, ако в имената на полетата има запетаи
Има ADODataSet с полета: [Поле1], [Поле2 с интервал], [Поле3], [Поле4, със запетая].
Трябва да го сортирате по някои полета.
Ако харесвам това: ADODataSet.Sort = "[Поле1], [Поле2 с интервал], [Поле3]", тогава всичко е сортирано много добре, без коментари.
Ако ми хареса това: ADODataSet.Sort = "[Поле1], [Поле4, със запетая], [Поле3]", тогава ругатната се появява "Поле" Поле4 "не е намерено".
Очевидно низът с полета за сортиране се нарязва на сегменти между запетаите.
Така че въпросът е:
как мога да сортирам набор от данни по няколко полета, ако в имената на полетата има запетаи?
Два отговора се предлагат сами, въпреки че тяхната точност зависи от вашата СУБД.
1. Оградете името на всяко поле в двойни кавички. Например „Поле, 1“, „Поле, 2“
2. Избройте задължителните полета чрез номериране. например,
ИЗБЕРЕТЕ "Поле, 1", "Поле, 2"
ОТ ТАБЛИЦА1
ПОРЪЧАЙТЕ ПО 1, 2
и в MSSQL - [Име на поле]
Благодаря Ви за отговора.
Вариант 1 не работи. Разбира изключението: „Елементът не можа да бъде намерен в колекцията, съответстващ на заявеното име (имена).“ Преведох това от английски. Като цяло всичко е естествено.
Вариант 2 не е подходящ. SQL не може да се приложи. Има само статичен набор от данни, отделен от базата данни.
Господа! Въпросът е властта.
Как мога да сортирам набор от данни по няколко полета, ако в имената на полетата има запетаи?
на [email protected]
Това, разбира се, зависи от СУБД. Авторът на въпроса не го е посочил, поради което е невъзможно да се даде ясен отговор.
Използвам DB2 UDB 7.2. Има сдвоени цитати.
Бъди внимателен. Вече използвам квадратни скоби (за полета с интервали в средата).
Добре. Но се чудя какво тогава пишете в заглавката на заявката? ИЗБЕРЕТЕ.