|
|
|
Запрос на изменение записей.
|
|||
|---|---|---|---|
|
#18+
Народ, какой синтаксис запроса должен быть на изменение, если мы не знаем название полей, но знаем их последовательность и тип? Со вставкой все просто: INSERT INTO TableName Values('sdf','asfasd','fghdfg'); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2004, 12:49:21 |
|
||
|
Запрос на изменение записей.
|
|||
|---|---|---|---|
|
#18+
одним запросом не получица. будешь вставлять в цикле. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2004, 12:51:30 |
|
||
|
Запрос на изменение записей.
|
|||
|---|---|---|---|
|
#18+
Андрей GRНарод, какой синтаксис запроса должен быть на изменение, если мы не знаем название полей, но знаем их последовательность и тип? Со вставкой все просто: INSERT INTO TableName Values('sdf','asfasd','fghdfg');Нет такого в SQL. Но если знаешь последовательность и тип, то можно через Recordset поля поменять: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2004, 12:59:24 |
|
||
|
Запрос на изменение записей.
|
|||
|---|---|---|---|
|
#18+
Компромиссное решение - через vba смотрим названия полей, дальше к ним sql-ем обращаемся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2004, 13:13:48 |
|
||
|
Запрос на изменение записей.
|
|||
|---|---|---|---|
|
#18+
Все дело в том, что именно на SQL надо! :-( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2004, 13:35:54 |
|
||
|
Запрос на изменение записей.
|
|||
|---|---|---|---|
|
#18+
Андрей GRВсе дело в том, что именно на SQL надо! :-( Непонятно, как можно работать с таблицей не зная названия столбцов? Что за задача такая? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2004, 13:37:51 |
|
||
|
Запрос на изменение записей.
|
|||
|---|---|---|---|
|
#18+
Да. Вставить-то можно строку, без названия столбцов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2004, 14:52:11 |
|
||
|
Запрос на изменение записей.
|
|||
|---|---|---|---|
|
#18+
1 ну хоть количество столбцов заранее известно ? 2 что дальше делается с запросом: - запускается руками - запускается из формы - ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2004, 14:56:28 |
|
||
|
Запрос на изменение записей.
|
|||
|---|---|---|---|
|
#18+
задачу целиком опиши - возможно существуют готовые нетривиальные решения ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2004, 14:58:03 |
|
||
|
Запрос на изменение записей.
|
|||
|---|---|---|---|
|
#18+
paparome Андрей GRНарод, какой синтаксис запроса должен быть на изменение, если мы не знаем название полей, но знаем их последовательность и тип? Со вставкой все просто: INSERT INTO TableName Values('sdf','asfasd','fghdfg');Нет такого в SQL. Это, видать, в вашем нету - а вообще есть :) Если не указывать список полей - то считается, что поля идут в том же порядке как и при декларации таблицы. при этом необходимо перечислять все значения полей. Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2004, 22:34:29 |
|
||
|
Запрос на изменение записей.
|
|||
|---|---|---|---|
|
#18+
Чего-то туплю... вобще не по поводу ответил. там же не про INSERT а про UPDATE. Для UPDATE - действительно нету. В качестве вариантов - как сказал paparome, открывать recordset и идти по записям вколлекции через индекс. Второй вариант - более надежный (IMHO). считать спецификацию из того же открытого recordset-а (названия полей) и составить UPDATE запрос. Третий вариант - почти как второй, только обновлять непосредственно в recordset-е, всеравно он уже открыт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2004, 22:41:42 |
|
||
|
Запрос на изменение записей.
|
|||
|---|---|---|---|
|
#18+
Да, похоже придется мне тогда перечислять поля. Всем спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2004, 00:44:36 |
|
||
|
Запрос на изменение записей.
|
|||
|---|---|---|---|
|
#18+
авторВторой вариант - более надежный (IMHO). считать спецификацию из того же открытого recordset-а (названия полей) и составить UPDATE запрос. Третий вариант - почти как второй, только обновлять непосредственно в recordset-е, всеравно он уже открыт. Второй вариант: Дык один фиг для чтения спецификации придется по числовым индексам проходить Третий вариант: вообще, от моего ни чем не отличается :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2004, 09:00:11 |
|
||
|
Запрос на изменение записей.
|
|||
|---|---|---|---|
|
#18+
так задачку и не обьяснил - жаль , вдруг что-то красивое ускользнуло! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2004, 09:12:03 |
|
||
|
Запрос на изменение записей.
|
|||
|---|---|---|---|
|
#18+
paparomeТретий вариант: вообще, от моего ни чем не отличается :) Ну как сказать... вообще все эти варианты слабо друг от друга отличаются, поскольку все сводится к Recordset-у А разница между нашими вариантами мала, но есть. Одно дело индексировать поля в Recordset-е по порядку вхождения, другое дело считывать имена и искать под это имя правильное значение. При создании VIEW на основе таблицы и перепутывании полей твой способ ломается, мой - нет. А я вот еще о чем подумал... Если в таблице нет Counter-ов, особенно в качестве ключа и эта таблица не является MASTER-ом для других, то можно разбить задачц на две: 1) Удалить старую запись 2) Добавить новую INSERT-ом :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2004, 11:06:17 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32582251&tid=1673525]: |
0ms |
get settings: |
10ms |
get forum list: |
22ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
212ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
71ms |
get tp. blocked users: |
1ms |
| others: | 226ms |
| total: | 565ms |

| 0 / 0 |
