Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не редактируются ячейки DBgrid. 
V
    Опции темы
Vavik
Дата 8.5.2009, 15:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 19.4.2007
Где: РнД

Репутация: нет
Всего: нет



Цитата(Dmi3ev @ 8.5.2009,  15:34)
а еще почему для такого варианта, как ты написал
Код

ADOquery1.Append;
ADOquery1.Edit;
ADOquery1.FieldByName('id_poselok').asString:= '4';
ADOquery1.post;

тебе не нужно 24 едита, а для того чтобы через запрос сделать нужно???
ЗЫ
То что ты делаешь через компоненты можно сделать через запрос, причем разницы никакой в плане того, что если делать так то нужно 24 едита, а если делать так то не нужно...

Ну можно сделать 24 таких строчки ADOquery1.FieldByName('id_poselok').asString:= '4';    smile 
А ещё лучше, чтобы название поля, бралось и помещалось сюда ADOquery1.FieldByName('id_poselok').asString:= '4'; при нажатии на принадлежащую этому полю ячейку.
Короче, проще говоря, я хочу делать, то что делает DBNavigator/

А если делать через запрос
Query1.SQL.add('insert into poselok ("Номер", "Название") values ('''+ edit1.Text +''','''+ edit2.Text +''')');
То я не знаю, как вбить в Values 24 значения, а потом поменять таблицы и всего 2.

Цитата(Dmi3ev @ 8.5.2009,  15:34)

давай по порядку все
1) какие типы у полей
2) код, который ты используешь для того чтобы добавилось че-то на данный момент...


Ну чего мне все таблицы со всеми полями перечислять) 
1)Номер(Integer), Название(character varying(64))
2)Я пока что ничего не использую) я выбираю или через запрос типа
Код

Query1.SQL.Clear;
Query1.SQL.add('insert into poselok (id_poselok, "Íàçâàíèå") values ('''+ edit1.Text +''','''+ edit2.Text +''')');
Query1.ExecSQL;

Или таким способом
Код

ADOquery1.Append;
ADOquery1.Edit;
ADOquery1.FieldByName('id_poselok').asString:= '4';
ADOquery1.post;



Это сообщение отредактировал(а) Vavik - 8.5.2009, 15:49
PM MAIL   Вверх
Dmi3ev
Дата 8.5.2009, 15:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1698
Регистрация: 28.11.2007

Репутация: нет
Всего: 41



Цитата

Короче, проще говоря, я хочу делать, то что делает DBNavigator/

Код

ADOQuery1.Edit;
ADOQuery1.FieldByName('f1').AsString:=DBGrid1.Columns.Items[0].Field.AsString;
ADOQuery1.FieldByName('f2').AsString:=DBGrid1.Columns.Items[1].Field.AsString;
ADOQuery1.Post;

пишешь этот код на кнопку, только поля по своему называешь, и соответственно в Items[] индекс ставишь нужный
так вот далее запускаешь
нажимаешь на дбгрид, после этого нижимаешь стрелочку вниз ,появляется строка, ты туда записываешь новые данные, потом нажимаешь на кнопку, все... я написал ADOQuery1.Edit;, тк если он не переводит в режим редактирования, он открывает на запись все это дело...
должно работать
давай, пробуй быстрей...

Добавлено через 1 минуту и 51 секунду
индексы в Items[] ставишь, у первого поля 0, у второго 1, у третьего 2, думаю понятно...
зы
должно работать, хотя я в дельфи не рублю )))


--------------------

PM MAIL   Вверх
Vavik
Дата 8.5.2009, 16:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 19.4.2007
Где: РнД

Репутация: нет
Всего: нет



Цитата(Dmi3ev @ 8.5.2009,  15:58)
Цитата

Короче, проще говоря, я хочу делать, то что делает DBNavigator/

Код

ADOQuery1.Edit;
ADOQuery1.FieldByName('f1').AsString:=DBGrid1.Columns.Items[0].Field.AsString;
ADOQuery1.FieldByName('f2').AsString:=DBGrid1.Columns.Items[1].Field.AsString;
ADOQuery1.Post;

пишешь этот код на кнопку, только поля по своему называешь, и соответственно в Items[] индекс ставишь нужный
так вот далее запускаешь
нажимаешь на дбгрид, после этого нижимаешь стрелочку вниз ,появляется строка, ты туда записываешь новые данные, потом нажимаешь на кнопку, все... я написал ADOQuery1.Edit;, тк если он не переводит в режим редактирования, он открывает на запись все это дело...
должно работать
давай, пробуй быстрей...

Добавлено @ 16:00
индексы в Items[] ставишь, у первого поля 0, у второго 1, у третьего 2, думаю понятно...
зы
должно работать, хотя я в дельфи не рублю )))

Есть такая проблема, когда я ввёл в первом поле значение, перехожу на второе и то что ввёл в первом сбрасывается, на то что было) Вообщем вроде не работает так.




Это сообщение отредактировал(а) Vavik - 8.5.2009, 16:18
PM MAIL   Вверх
Dmi3ev
Дата 8.5.2009, 16:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1698
Регистрация: 28.11.2007

Репутация: нет
Всего: 41



Цитата

И значения в эдит не заносились.
А ещё есть такая проблема, когда я ввёд в первом поле значение, перехожу на второе и то что ввёл в первом сбрасывается, на то что было) Вообщем вроде не работает так.

ууууу
короче слушай сюда:
пшешь код
Код

ADOQuery1.Edit;
ADOQuery1.FieldByName('id1').AsString:=DBGrid1.Columns.Items[0].Field.AsString;
ADOQuery1.FieldByName('poselok1').AsString:=DBGrid1.Columns.Items[1].Field.AsString;
ADOQuery1.FieldByName('name1').AsString:=DBGrid1.Columns.Items[2].Field.AsString;
ADOQuery1.Post;

этот код пишется на нажатие кнопки! поменяй названия полей, на те которые у меня (временно)
далее
запускаешь прогу
нажимаешь на дбгрид, чтобы он актвным стал
нажимаешь стрелочку вниз, появляется поле, там ты пишешь что-то, потом нажимаешь кнопку
все!
больше никаких собственных действий, ничего не надо...

Добавлено через 1 минуту и 49 секунд
прямо все копируй отсюда, даже названия полей не пиши, а копируй отсюда...


--------------------

PM MAIL   Вверх
Vavik
Дата 8.5.2009, 16:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 19.4.2007
Где: РнД

Репутация: нет
Всего: нет



Цитата(Dmi3ev @ 8.5.2009,  16:13)
Цитата

И значения в эдит не заносились.
А ещё есть такая проблема, когда я ввёд в первом поле значение, перехожу на второе и то что ввёл в первом сбрасывается, на то что было) Вообщем вроде не работает так.

ууууу
короче слушай сюда:
пшешь код
Код

ADOQuery1.Edit;
ADOQuery1.FieldByName('id1').AsString:=DBGrid1.Columns.Items[0].Field.AsString;
ADOQuery1.FieldByName('poselok1').AsString:=DBGrid1.Columns.Items[1].Field.AsString;
ADOQuery1.FieldByName('name1').AsString:=DBGrid1.Columns.Items[2].Field.AsString;
ADOQuery1.Post;

этот код пишется на нажатие кнопки! поменяй названия полей, на те которые у меня (временно)
далее
запускаешь прогу
нажимаешь на дбгрид, чтобы он актвным стал
нажимаешь стрелочку вниз, появляется поле, там ты пишешь что-то, потом нажимаешь кнопку
все!
больше никаких собственных действий, ничего не надо...

Добавлено @ 16:15
прямо все копируй отсюда, даже названия полей не пиши, а копируй отсюда...

Ах да, стрелочка вниз...забыл  smile 
Короче, может он что-то и добавляет, но возникает старая проблема
Цитата(Vavik @  8.5.2009,  11:51 Найти цитируемый пост)

user posted image



Это сообщение отредактировал(а) Vavik - 8.5.2009, 16:23
PM MAIL   Вверх
Dmi3ev
Дата 8.5.2009, 16:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1698
Регистрация: 28.11.2007

Репутация: нет
Всего: 41



Цитата

Короче, может он что-то и добавляет, но возникает старая проблема

зайди в бд и поставь там в свойствах столбцов, что можно добавлять и пустые значения...
код рабочий, точно, я проверил даже на дельфи и бД акссесс, все работает, как часы...
дело в прокладке между стулом и компом... я в этом уверен...


--------------------

PM MAIL   Вверх
Vavik
Дата 8.5.2009, 17:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 19.4.2007
Где: РнД

Репутация: нет
Всего: нет



Цитата(Dmi3ev @ 8.5.2009,  16:58)
Цитата

Короче, может он что-то и добавляет, но возникает старая проблема

зайди в бд и поставь там в свойствах столбцов, что можно добавлять и пустые значения...
код рабочий, точно, я проверил даже на дельфи и бД акссесс, все работает, как часы...
дело в прокладке между стулом и компом... я в этом уверен...

Да там и так можно их добавлять.
PM MAIL   Вверх
Dmi3ev
Дата 8.5.2009, 17:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1698
Регистрация: 28.11.2007

Репутация: нет
Всего: 41



Цитата

Да там и так можно их добавлять. 

Но почему-то он тебе на разрешает ведь так делать... Где-то косяк... Короче, я бы на твоем месте взял бы новенький АДОКвери, и попробовал бы на нем, и ДБГрид новенький, все должно работать... хз...


--------------------

PM MAIL   Вверх
Kbl4AH
Дата 8.5.2009, 18:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 741
Регистрация: 1.4.2008
Где: Вятка

Репутация: 6
Всего: 15



Dmi3ev, я тоже уже все мной сказанное проверил в новом проекте... у меня для TOracleDataSet все отрабатывает... я даж новый метод освоил - AppendRecord...
и я тоже уверен что дело в прокладке smile еще могли быть вопросы пока я не знал, что в PostgreSQL есть псевдополе и оно называется oid...
но щас у меня уже нет сил...

Vavik, попробуй все интересующие тебя вещи сделать с использованием MS Access... если с ним будет не так как ты хочешь - озвучивай... если все будет нормуль, то придецца обратиться к спецам по PostgreSQL... и отстань ты от этого DBNavigatora... все фихи мона сделать без него используя только интерфейс DBGrid, правда придецца несколько управляющих клавиш добавить... но в любом случае навигатор - не панацея... все что можно с ним - можно и без него...

PM MAIL ICQ   Вверх
Akella
Дата 8.5.2009, 18:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



Цитата(Vavik @  8.5.2009,  13:31 Найти цитируемый пост)
Да знаю я, что это такое, а что не так ? 

если бы знал, но не вызывал бы сразу редактирование после добавление. Обычно или добавление, или редактирование.
PM MAIL   Вверх
Vavik
Дата 8.5.2009, 19:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 19.4.2007
Где: РнД

Репутация: нет
Всего: нет



Цитата(Kbl4AH @ 8.5.2009,  18:06)
Dmi3ev, я тоже уже все мной сказанное проверил в новом проекте... у меня для TOracleDataSet все отрабатывает... я даж новый метод освоил - AppendRecord...
и я тоже уверен что дело в прокладке smile еще могли быть вопросы пока я не знал, что в PostgreSQL есть псевдополе и оно называется oid...
но щас у меня уже нет сил...

Vavik, попробуй все интересующие тебя вещи сделать с использованием MS Access... если с ним будет не так как ты хочешь - озвучивай... если все будет нормуль, то придецца обратиться к спецам по PostgreSQL... и отстань ты от этого DBNavigatora... все фихи мона сделать без него используя только интерфейс DBGrid, правда придецца несколько управляющих клавиш добавить... но в любом случае навигатор - не панацея... все что можно с ним - можно и без него...

Я не имел ввиду редактирование с помощью навигатора,  его я просто привёл в пример, чтобы понятней было чего хочу)

Цитата(Akella @ 8.5.2009,  18:34)
Цитата(Vavik @  8.5.2009,  13:31 Найти цитируемый пост)
Да знаю я, что это такое, а что не так ? 

если бы знал, но не вызывал бы сразу редактирование после добавление. Обычно или добавление, или редактирование.

Да эт мне посоветывали,  я и попробывал, эт не я придумал. 

Цитата(Dmi3ev @ 8.5.2009,  17:43)
Цитата

Да там и так можно их добавлять. 

Но почему-то он тебе на разрешает ведь так делать... Где-то косяк... Короче, я бы на твоем месте взял бы новенький АДОКвери, и попробовал бы на нем, и ДБГрид новенький, все должно работать... хз...

Та я уже пробывал, заново проект сделать, всё равно таже фигня. Короче буду через запросы делать и в них вставлять значения как ты показал.

Всем спасибо, кто оказал помощь. Я ещё вернусь  smile 

Это сообщение отредактировал(а) Vavik - 8.5.2009, 19:34
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0746 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.