Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.01;
Скачать: CL | DM;

Вниз

Как программно добавить данные в DBGrid?   Найти похожие ветки 

 
Tempo   (2004-07-08 14:35) [0]

Как программно добавить данные в нужную ячейку DBgrid? Точно знаю, что это возможно, но никак не получается.


 
Соловьев ©   (2004-07-08 14:42) [1]

как делаешь?


 
Johnmen ©   (2004-07-08 14:43) [2]

>Точно знаю, что это возможно

Твоё знание ошибочно...:)


 
Tempo   (2004-07-08 14:50) [3]

Johnmen
Я думаю, что можно.


 
Johnmen ©   (2004-07-08 14:56) [4]

>Tempo   (08.07.04 14:50) [3]

Так, мягче, уже лучше :) Но всё равно заблуждаешься...


 
Romkin ©   (2004-07-08 14:59) [5]

Единственная обязанность DBGrid - показывать содержимое датасета. Все остальное - в датасете. Его и крути


 
Tempo   (2004-07-08 15:08) [6]

Romkin
Использую ClientDataSet и DataSource. Работаю с XML файлами, возможность использовать SQL запросы отсутствует =(


 
Vlad ©   (2004-07-08 15:13) [7]


> Tempo   (08.07.04 15:08) [6]

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


 
Курдль ©   (2004-07-08 15:16) [8]


> Johnmen ©   (08.07.04 14:43) [2]
> Твоё знание ошибочно...:)

Легко! OnDrawColumnCell -> OutText("данные")


 
Johnmen ©   (2004-07-08 15:18) [9]

>Курдль ©   (08.07.04 15:16) [8]

Что легко-то ?
Просто вывел на экран в заданной области строку.


 
Tempo   (2004-07-08 15:20) [10]


> Vlad ©

Что-то не очень понял. DBGrid у меня и так идет через DataSource и показывает все записи БД (точнее нужные мне, настроил в ClientDataSet). Можно примерчик как добавить программно записи в БД через ClientDataSet?


 
Vlad ©   (2004-07-08 15:20) [11]


> Курдль ©   (08.07.04 15:16) [8]
>
> Легко! OnDrawColumnCell -> OutText("данные")

Это из желания помочь автору или поспорить с Johnmen ©   ?
Если первое - то это медвежья услуга.


 
Vlad ©   (2004-07-08 15:22) [12]


> Tempo   (08.07.04 15:20) [10]

ClientDataSet.FieldByName("MyField").AsString:="qqq";
ClientDataSet.Post.
Так мы добавили записи в ClientDataSet, но пока еще не в базу.
Подробнее - читайте справку.


 
Курдль ©   (2004-07-08 15:23) [13]


> Johnmen ©   (08.07.04 15:18) [9]
> Просто вывел на экран в заданной области строку.

Это из области фундаментальной теории! Но на экране ведт появится слово "данные" в ячейке!

Терь по существу
> Можно примерчик как добавить программно записи в БД через
> ClientDataSet?

ClientDataSet.Append;
ClientDataSet.FieldByName("FIELD_NAME").AsInteger := 1;
ClientDataSet.Post;

Или я чего-то недопонял?


 
Курдль ©   (2004-07-08 15:25) [14]


> Vlad ©   (08.07.04 15:20) [11]
> Это из желания помочь автору или поспорить с Johnmen ©  
>  ?
> Если первое - то это медвежья услуга.

Если честно, мне не очень хочется помогать авторам, которым перед программированием лень почитать даже основы того самого программирования.
Куда приятнее поспорить с теми, кто "что-то почитал" :)


 
Vlad ©   (2004-07-08 15:26) [15]


> Курдль ©   (08.07.04 15:23) [13]
>
> > Johnmen ©   (08.07.04 15:18) [9]
> > Просто вывел на экран в заданной области строку.
>
> Это из области фундаментальной теории! Но на экране ведт
> появится слово "данные" в ячейке!

в гриде от этого данных не добавится!


 
Соловьев ©   (2004-07-08 15:27) [16]

Все, пошла жара...:)
Как посмотерть, это одна из самых больных тем на форуме:)


 
Tempo   (2004-07-08 15:28) [17]


> Курдль ©  

По внешнему виду работает, но на самом деле... =)
Видимо я сам некорректно задал вопрос, мне нужно данные и отобразить пользователю и занести в БД.


 
Johnmen ©   (2004-07-08 15:28) [18]

>Курдль ©   (08.07.04 15:23) [13]
>Но на экране ведт появится слово "данные" в ячейке!

:)))
А ты в опциях убери отрисовку гор.и верт.линий - где теперь ячейки ? Боже ! Они исчезли ! Вместе с данными !
Вобщем хватит подначивать :))


 
Vlad ©   (2004-07-08 15:30) [19]


> Tempo   (08.07.04 15:28) [17]

А вот как занести физически в БД  - это уже второй вопрос.
см. метод ApplyUpdates


 
Tempo   (2004-07-08 15:30) [20]


> Если честно, мне не очень хочется помогать авторам, которым
> перед программированием лень почитать даже основы того самого
> программирования.

Зря делаешь поспешные выводы! Лучше тогда вообще молчи.

> Vlad ©   (08.07.04 15:22) [12]
>
> > Tempo   (08.07.04 15:20) [10]
>
> ClientDataSet.FieldByName("MyField").AsString:="qqq";
> ClientDataSet.Post.
> Так мы добавили записи в ClientDataSet, но пока еще не в
> базу.
> Подробнее - читайте справку.

Все, спасибо. Как сохранять я знаю, я нигде не мог узнать как добавить программно, а не ручками.


 
Курдль ©   (2004-07-08 15:40) [21]


> Tempo   (08.07.04 15:30) [20]
> Зря делаешь поспешные выводы! Лучше тогда вообще молчи.
> Как сохранять я знаю, я нигде не мог узнать
> как добавить программно, а не ручками.

Не буду я молчать! Если человек садится писать прогу для работы с наборами данных (Вам значение слова DataSet, надеюсь, понятно?), а знания типа "как добавить данные в этот самый набор" пытается почерпнуть из форума - это уже не нормально!


 
Johnmen ©   (2004-07-08 15:52) [22]

>Курдль ©   (08.07.04 15:40) [21]

Для некоторых - вполне нормально. А вот печалит, что этих некоторых становится всё больше с каждым днём...:(


 
Tempo   (2004-07-08 15:57) [23]

Скажи это авторам книг, которые посвящены работе с локальными БД и в которых не рассматривается компонент ClientDataSet вообще. Пускай книга по delphi 5 (я только начал с выходом этой версии изучать delphi после паскаля и ассемблера), но в ней этот компонент точно присутствовал.
Длительные поиски по яндексу ни к чему не привели, в каких формах я только не задвал запрос... Сам я ничего из логически объяснимых и знакомых мне слов в компаненте не нашел, поэтому осталось тлько обратиться в форум. Извини, если тебя побеспокоил.


 
Tempo   (2004-07-08 15:57) [24]

Скажи это авторам книг, которые посвящены работе с локальными БД и в которых не рассматривается компонент ClientDataSet вообще. Пускай книга по delphi 5 (я только начал с выходом этой версии изучать delphi после паскаля и ассемблера), но в ней этот компонент точно присутствовал.
Длительные поиски по яндексу ни к чему не привели, в каких формах я только не задвал запрос... Сам я ничего из логически объяснимых и знакомых мне слов в компаненте не нашел, поэтому осталось тлько обратиться в форум. Извини, если тебя побеспокоил.
П.С.: я точно программно добавлял данные в ячейки в обычно grid, вот и попутал.


 
Курдль ©   (2004-07-08 16:12) [25]


> Tempo   (08.07.04 15:57) [24]

Ок! Хорошо, что читаешь книги. Это меняет дело.
Тогда вот совет - заглядывай компонентам туда, откуда ноги растут. Если в хэлпе кликнешь на строчке hierarchy - появится цепочка наследования. Да и в списках методов или свойств тоже всегда указано, - какие из них являются родными, а какие - унаследованы от родителей. (Я привел эту пламенную речь о TDataSet-ах, если кто не понял).


 
Zhekson   (2004-07-08 16:22) [26]

Johnmen, Курдль,
Vlad

Капец. А ведь вы тоже когда-то были как Tempo, потом как Vlad. Вопрос в том, были ли вы тогда такими наглыми, к Vladu не относится?


 
Johnmen ©   (2004-07-08 16:27) [27]

>Zhekson   (08.07.04 16:22) [26]

Да, были. За одним существенным исключением. Сам догадаешься, за каким ?


 
Romkin ©   (2004-07-08 16:30) [28]

Zhekson  (08.07.04 16:22) [26] Не были. Мне, например, хватило часа разобраться с этим вопросом в свое время. А через пару дней я уверенно работал с БД. Без всяких книг. HElp + Demos


 
Zhekson   (2004-07-08 16:39) [29]

to Romkin

О, и Вы туда же...

Цытата:
"Johnmen ©   (08.07.04 16:27) [27]
>Zhekson   (08.07.04 16:22) [26]

Да, были. За одним существенным исключением. Сам догадаешься, за каким ?"


 
Zhekson   (2004-07-08 16:48) [30]

To Romkin:

Вы просто, видать, сразу умным родились, раз небыли. И потом не каждая книга обучает пользованию HELP+Demos. + Лень +
Цитата:
"Johnmen ©   (08.07.04 16:27) [27]

Да, были. За одним существенным исключением. Сам догадаешься, за каким ?"

Вот и пердставь сколько там процентов, на положительный результат этой затеи.


 
Tempo   (2004-07-08 17:36) [31]

Честно, не понимаю зачем орать и тут же говорить дежурную фразу "ламер". Я не программист, я ЭВМЩик, профессиональный, работаю системным администратором, писал много программ облегчающих и себе и многим другим жизнь, распростронял их через интернет свободно, впервые столкнулся с потребностью использования локальной БД, спросил вопрос, ну не хочешь - не отвечай. Я же своих пользователей не посылаю "нажми F1" или "сядь за соседний компьютер и поищи в интернете".
Злые вы. Бывает же, что ну все, не знаешь как это сделать, где еще спросить? Выложить 30% от зарплаты на новую книжку, в которой будет инфа о ClientDataSet типа "Это для работы с БД, можно с локаkьными, можно с сетевыми, наверное, в общем эта книга не об этом, перейдем к созданию БД в Desktop Database... два раза мышкой, сюда, сюда, какой формат Вам нужен сами догодаетесь, как тепреь прикрутить эту базу к своему приложению - тоже, еще советую посмотреть том 54, который можно заказать в интернет-магазине www.b***m.ru, в нем сказано для чего БД вообще нужны."


 
Zhekson   (2004-07-08 17:59) [32]

Молодчик, разжалобил., что дальше?

я почему спрашиваю??? просто я ответ незнаю и так же, как и Вы пытаюсь узнать у наших уважаемых Мастеров. Хотя нет, есть ещё одно "Но" - я вопрос не понял.


 
Rem   (2004-07-08 18:02) [33]

Интересно, а если бы вы прочитали информацию о "Форуме зоологов", вы поперлись бы туда задавать вопрос "почему кузнечик прыгает"? Или для начала открыли бы детскую энциклопедию?

Почему вы превращаете форум программистов в банальную онлайн консультацию?

Форум - это место, где решаются задачи немного глобальнее банального "добавить запись в DataSet".

Если не верите - откройте словарь русского языка, статья "Форум", и убедитесь сами!

А я изучал Turbo Pascal 5.5 по help"у на английском языке, хотя английский тогда знал на уровне школьного курса. И мне не в облом было над одним предложением из справки биться 20 минут, чтобы перевести слова и понять смысл предложения, построенного по правилам английской грамматики. И никаких форумов! У меня даже книг по программированию не было! Я, компилятор, скудная справка на английском и 2-килограммовый словарь Мюллера. И ничего. И допер. И разобрался. И английский выучил. И пишу сейчас проекты масштаба среднего предприятия. И при этом никогда не считал себя крутым программером. Потому что все знать невозможно. Для того существует F1. Справка для того и пишется, чтобы ее читали. Или разработчикам нефиг делать?


 
Zhekson   (2004-07-08 18:15) [34]

to Rem

А если придёт мастер мастеров и назовёт Ваш вопрос таким же ламерским каким Вы считаете вопрос Tempo???
Просто не знаешь вопрос, не хочешь отвечать - не отвечай, никто же не заставляет.

Хочешь помочь или такой же ламер + хочешь помочь тогда делай это.

А форуму это только наруку, т.к. тут могут пообщаться люди разного уровня мастерства.


 
Ozone ©   (2004-07-09 05:50) [35]

Vlad ©   (08.07.04 15:30) [19]

>> А вот как занести физически в БД  - это уже второй вопрос.
>> см. метод ApplyUpdates

ApplyUpdates используют только при сохранении кешированных изменений... а о них тут ни слова.


 
Vlad ©   (2004-07-09 07:59) [36]


> [35] Ozone ©   (09.07.04 05:50)


> ApplyUpdates используют только при сохранении кешированных
> изменений... а о них тут ни слова.

Зато сказано о TClientDataSet, который сам по себе - один баальшой кэш ;-)


 
Ozone ©   (2004-07-09 08:39) [37]

Не знал. Тогда прошу прощения.



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

Текущий архив: 2004.08.01;
Скачать: CL | DM;

Наверх




Память: 0.56 MB
Время: 0.048 c
14-1089833539
Opilki_Inside
2004-07-14 23:32
2004.08.01
Могут ли студенты работать полный рабочий день?


4-1087799466
ZHK
2004-06-21 10:31
2004.08.01
FreeLibrary


8-1084513139
Push
2004-05-14 09:38
2004.08.01
Installer


14-1089890356
ruslan
2004-07-15 15:19
2004.08.01
krasiviy tekst


14-1089200045
Тимохов
2004-07-07 15:34
2004.08.01
Runtime пакеты.