Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2009.07.12;
Скачать: [xml.tar.bz2];

Вниз

Даные изменились с последнего времени   Найти похожие ветки 

 
evgenij   (2009-05-20 17:59) [0]

Доброго дня.
Вставляю даные в грид-в столбец 1-все ок
потом вставляю в столбец 2 говорит что запись не может быть апдейтнута т.к. даные изменились с последнего времени.....
грид с БД связан через АДОКвери. В БД никаких индексированых полей нет...
Спасибо!


 
sniknik ©   (2009-05-20 18:12) [1]

> В БД никаких индексированых полей нет...
а зря, ключ должен быть по любому...


 
evgenij   (2009-05-20 18:18) [2]

проблема не в этом -ставил ключ - не помогает


 
sniknik ©   (2009-05-20 18:27) [3]

как хочешь.


 
clickmaker ©   (2009-05-20 18:35) [4]

> проблема не в этом -ставил ключ - не помогает

как можно что-либо апдейтить без ключа?


 
Anatoly Podgoretsky ©   (2009-05-20 19:47) [5]


> как можно что-либо апдейтить без ключа?

Можно и более того, в некоторых случаях, когда апдейт более одной записи за раз, ключ просто не применим, нечего с ним делать.

Update Employers set salary = salary * 1/15 WHERE Department = 1

Что тут делать ключу работника?А вот изменение одной записи без ключа сложно и непредсказуемо иногда
WHERE ID=XXX
Без ключа иногда даже перечисление всех полей из запроса SELECT в гриде может дать не тот эффект, изменить более одной записи.


 
Игорь Шевченко ©   (2009-05-20 21:06) [6]


> Update Employers set salary = salary * 1/15 WHERE Department
> = 1


Это неправильный запрос, символы "1/" должны быть срочно убраны.


 
Anatoly Podgoretsky ©   (2009-05-20 21:50) [7]

> Игорь Шевченко  (20.05.2009 21:06:06)  [6]

Да это точка, а не деление.
А что страшно стало или губу расскатал? :-)


 
Игорь Шевченко ©   (2009-05-20 22:06) [8]


> А что страшно стало или губу расскатал?


Невооруженным глазом видно, что запрос неправильный синтаксически :) Это что же за синтаксис позволяет зарплату в 15 раз уменьшить ?


 
Anatoly Podgoretsky ©   (2009-05-20 22:10) [9]

Это что же за синтаксис позволяет зарплату в 15 раз увеличить  - это правильный синтаксис :-)


 
Anatoly Podgoretsky ©   (2009-05-20 22:35) [10]

Страшная эта штука SQL, опечатка и зарплаты нема, другая опечатка и богач.


 
Германн ©   (2009-05-21 00:48) [11]


> Игорь Шевченко ©   (20.05.09 22:06) [8]
>
>
> > А что страшно стало или губу расскатал?
>
>
> Невооруженным глазом видно, что запрос неправильный синтаксически
> :) Это что же за синтаксис позволяет зарплату в 15 раз уменьшить
> ?
>

Это не синтаксис позволяет, это кризис позволяет!
:)


 
Slym ©   (2009-05-21 05:37) [12]

значение полей по умолчанию в ацессе убери...


 
clickmaker ©   (2009-05-21 18:38) [13]

> [5] Anatoly Podgoretsky ©   (20.05.09 19:47)
>
> > как можно что-либо апдейтить без ключа?
>
> Можно и более того, в некоторых случаях, когда апдейт более
> одной записи за раз, ключ просто не применим, нечего с ним
> делать.
>
> Update Employers set salary = salary * 1/15 WHERE Department
> =

в данном случае Department - тоже ключ, хоть foreign, да хоть и просто константа.

Впрочем, в данном случае действительно можно апдейтить без ключа
Update Employers set salary = salary * 1/15 WHERE salary > 1000000
o)


 
Anatoly Podgoretsky ©   (2009-05-21 18:54) [14]

> clickmaker  (21.05.2009 18:38:13)  [13]

В таком виде нельзя.


 
Медвежонок Пятачок ©   (2009-05-21 19:02) [15]

С ключом/без ключа - все зависит от контекста.
Если редактируем грид, "вот эту" запись, тогда да, нужен ключ


 
Нат   (2009-05-23 00:10) [16]

видимо, автор вставляет данные не запросом, а непосредственно:
DataSet.Edit...
Проблема в настройке датасета
Немного об использовании ADO в Delphi
( часть 2 ) http://www.delphikingdom.ru/asp/viewitem.asp?catalogid=408
( часть 3 ) http://www.delphikingdom.ru/asp/viewitem.asp?catalogid=413
М.Кэнту
http://www.sql.ru/articles/mssql/2005/122703ADO.shtml

adCriteriaKey, adCriteriaAllCols, adCriteriaUpdCols, adCriteriaTimeStamp...


 
Игорь Шевченко ©   (2009-05-23 03:07) [17]


> Впрочем, в данном случае действительно можно апдейтить без
> ключа


вообще-то апдейтить без ключа можно во всех случаях...

Например,

update employees set salary = salary + 100



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2009.07.12;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.005 c
2-1243093165
maectpo
2009-05-23 19:39
2009.07.12
Помощь по диплому


2-1242886466
webpauk
2009-05-21 10:14
2009.07.12
Проверить строку


15-1242038575
Синий
2009-05-11 14:42
2009.07.12
Игра Быки и Коровы на С++


2-1242924098
Чипырик
2009-05-21 20:41
2009.07.12
Как получить год


15-1241731931
Игорь Шевченко
2009-05-08 01:32
2009.07.12
А кто чем почту читает ? :)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский