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

Вниз

Не могу произвести UPDATE для ClientDataSet   Найти похожие ветки 

 
LinOS   (2003-09-16 11:49) [0]

Есть SQL сервер.
Через SQLDataSet делаю выборку данных и через провайдела
передаю в ClientDataSEt на который наложена DBGrid.
В DBGrid вношу новую запись и нажимаю кнопульку с
<nn>if (cdsBlanks.ChangeCount > 0) then cdsBlanks.ApplyUpdates(-1);</nn>

Либо ничего не делает, либо кричит что нет таблицы MyTable


 
Alone Corsar   (2003-09-16 11:51) [1]

Какой запрос проводит выборку, имеется ли в выборке ключевое поле?


 
LinOS   (2003-09-16 11:56) [2]

Да имеется.
SELECT id, name, l_name FROM staff WHERE status IS NULL
id - первичный ключ.


 
Alone Corsar   (2003-09-16 12:00) [3]

В dbGrid ключевое поле скорее всего не выводится попробуй добавить его и сделать невидимым


 
LinOS   (2003-09-16 12:03) [4]

В каком смысле "добавить"
Все поля автоматически отображаются, в т.ч. и id.


 
LinOS   (2003-09-16 12:29) [5]

Ругается, что не может найти таблицу "staff".
Затем выдает, что нет ключевого поля. КАк его определить, если я выбираю с cds на разных этапах разные данные?


 
Alone Corsar   (2003-09-16 12:55) [6]

попробуй сделать такую выборку
SELECT rowid,id, name, l_name FROM staff WHERE status IS NULL


 
LinOS   (2003-09-17 12:44) [7]

У меня нет колонки rowid.
Мастера, неужели никто не знает.
Схема же стандартная.
Из БД в локальную память (ClientDataSet), а после изменения надо опять в базу запостить.
КОД такой:

DM.SQLds.CommandText := "SELECT id, f_name, s_name, o_name FROM dba.staff WHERE status IS NULL";
DM.SQLds.Open;
DM.SQLds.Close;
DM.cdsBlanks.Open;
dbllbStaff.KeyField := "id";
dbllbStaff.ListField := "f_name";

а при нажатии на кнопку

if DM.cdsBlanks.ChangeCount > 0 then
DM.cdsBlanks.ApplyUpdates(-1);

На cdsBlanks наложили DBGrid,и в ней добавляем запись, после чего жмем на кнопку.
Ругается, что не может найти таблицу "staff".


 
Sandman25   (2003-09-17 12:46) [8]

>DM.SQLds.Close;

Это зачем?


 
Vlad   (2003-09-17 12:51) [9]

Мало того, DM.SQLds.Open делать тоже не обязательно.
Если ClientDataSet к нему подключен, он сам его откроет.


 
LinOS   (2003-09-17 13:16) [10]

И как корректно писать. Примерчик, плиз.


 
LinOS   (2003-09-18 05:24) [11]

Люди, help!!!!



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

Форум: "Базы";
Текущий архив: 2003.10.09;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.008 c
1-27435
Канарский
2003-09-28 12:47
2003.10.09
Принудительное закрытие файлов


9-27291
Андрей22
2003-04-07 20:26
2003.10.09
Где можно найти исходники программы


7-27752
plotn
2003-07-24 09:44
2003.10.09
usb device aka mp3 player


1-27477
star
2003-09-26 20:48
2003.10.09
PrintScreen и Alt+PrintScreen


3-27378
RDen
2003-09-19 07:58
2003.10.09
Как сделать чтобы грид не отображал перемещение по таблице





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский