Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.01.2009, 11:59   #11
KARUSHEV
Форумчанин
 
Аватар для KARUSHEV
 
Регистрация: 11.01.2009
Сообщений: 102
По умолчанию

mihali4, подскажите почему заполняется таблица счета, только первым клиентом?

Ведь должна заполнять все строки, с существующими договорами.

Последний раз редактировалось KARUSHEV; 30.01.2009 в 18:31.
KARUSHEV вне форума Ответить с цитированием
Старый 31.01.2009, 13:45   #12
KARUSHEV
Форумчанин
 
Аватар для KARUSHEV
 
Регистрация: 11.01.2009
Сообщений: 102
По умолчанию

Всем доброго дня!
Подскажите, может кто знает, почему с этим кодом заполняется только первая строка (с один договором)? Как сделать, чтобы заполнялась вся таблица, т.е. сколько есть договоров (записей ID_Dogovor).
Может быть нужно еще с полем ID_Schet (счетчик) таблицы Schet, прописать в этом коде.

Код:

procedure TForm7.Button1Click(Sender: TObject);
begin
try
DataModule2.TSchet.Insert;
DataModule2.TSchet.FieldByName('Dat e_Vipiski').Value:=DateTimePicker1. Date;
DataModule2.TSchet.FieldByName('Dat a_Oplati').Value:=DateTimePicker2.D ate;
DataModule2.TSchet.FieldByName('Kod _Dogovor').Value:=DataModule2.TDogo vor.FieldByName('ID_Dogovor').Value ;
DataModule2.TSchet.Post;
except
;
end;
end;
KARUSHEV вне форума Ответить с цитированием
Старый 04.02.2009, 09:06   #13
KARUSHEV
Форумчанин
 
Аватар для KARUSHEV
 
Регистрация: 11.01.2009
Сообщений: 102
По умолчанию

Всем спасибо! Мне помогли решить эту проблему, код выглядит таким образом:

procedure TForm7.Button1Click(Sender: TObject);
begin
DataModule2.TDogovor.First
while not DataModule2.TDogovor.eof do;
begin
try
DataModule2.TSchet.Insert;
DataModule2.TSchet.FieldByName('Dat e_Vipiski').Value:=DateTimePicker1. Date;
DataModule2.TSchet.FieldByName('Dat a_Oplati').Value:=DateTimePicker2.D ate;
DataModule2.TSchet.FieldByName('Kod _Dogovor').Value:=DataModule2.TDogo vor.FieldByName('ID_Dogovor'). Value;
DataModule2.TSchet.Post;
except
end;
DataModule2.TDogovor.Next;
end;
end;

mihali4: Вот теперь вы прочувствовали пользу от того, что вам не стали отвечать сразу? Все верно - вы сами разобрались. И это приятно и нам, и вам

Последний раз редактировалось mihali4; 04.02.2009 в 17:03. Причина: Дополнение
KARUSHEV вне форума Ответить с цитированием
Старый 04.02.2009, 17:59   #14
[Smarik]
Веб-разработчик
Форумчанин
 
Аватар для [Smarik]
 
Регистрация: 16.01.2008
Сообщений: 451
По умолчанию

у меня тоже проблема с этим оператором.
прописываю в phpMyAdmin
Код:
INSERT INTO items VALUES("", "Лук",  "Эльфийский лук",1,1,1,1,1,1,1,1,'',"Smarik","тест делфи клиента")
прописываю в делфи
Код:
ZQuery1.SQL.Clear;
  ZQuery1.SQL.Add('INSERT INTO items VALUES("", "Лук",  "Эльфийский лук",1,1,1,1,1,1,1,1,'',"Smarik","тест делфи клиента")');
и программа вылетает с ошибкой Can not open a Resultset

еще если можно ссылку на учебник, где нету кучи теории что такое бд и т.п., нужен синтаксис основных команд объединение, пересичение, разность, дек. произведение и все в этом духе и что нить о делфи + sql, буду очень благодарен, сам скачал 4 учебника, куча теории, почти никакого кода.
Я ваш новый друг, смиритесь!
[Smarik] вне форума Ответить с цитированием
Старый 04.02.2009, 20:54   #15
[Smarik]
Веб-разработчик
Форумчанин
 
Аватар для [Smarik]
 
Регистрация: 16.01.2008
Сообщений: 451
По умолчанию

Код:
ZQuery1.SQL.Clear;
ZQuery1.SQL.Add('INSERT INTO items VALUES("","Лук","Эльфийский арбалет2",1,3,1,5,1,1,1,1,"","Smarik","тест делфи клиента 2");');
ZQuery1.Active:=true;
вот добавляет запсь, но вылетает прога все с той же ошибкой...

p.s. все разобрался.
Я ваш новый друг, смиритесь!

Последний раз редактировалось [Smarik]; 04.02.2009 в 20:58.
[Smarik] вне форума Ответить с цитированием
Старый 04.02.2009, 21:08   #16
crc83
Пользователь
 
Аватар для crc83
 
Регистрация: 24.01.2009
Сообщений: 38
По умолчанию

Код:
   	st:='INSERT INTO items VALUES("","Лук","Эльфийский арбалет2",1,3,1,5,1,1,1,1,"","Smarik","тест делфи клиента 2")'
   	adoquery.Prepared:=True;
	adoquery.SQL.Clear;
	adoquery.SQL.Add(st);
	adoquery.ExecSQL;
crc83 вне форума Ответить с цитированием
Старый 04.02.2009, 21:49   #17
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
Сообщение от [Smarik] Посмотреть сообщение
вот добавляет запись, но вылетает прога все с той же ошибкой...
p.s. все разобрался.
А я бы на вашем месте подчеркнул известную вещь, на которую почему-то мало кто обращает внимание. Хотя и говорим об этом все время. И в хэлпе, который почему-то игнорируют напропалую, тоже открыто об этом говорится...
"Can't open a Resultset" говорит о том, что ваш запрос не возвращает результирующего набора данных. Его просто нет!
Подумайте сами - вы задаете DELETE и потом открываете набор данных (таблицу). Что она вам возвратить должна? Даже если и "захочет" - не сможет - нечего возвращать.
Это ведь очень просто, и писалось неоднократно - хотите получить результат - делайте OPEN, ACTIVE:=TRUE и так далее.
Но если вы хотите просто выполнить некую сиквел-операцию - дайте просто команду на исполнение EXECSQL.
Ну не может она вам что-либо вернуть, кроме признака об успешном/неуспешном исполнении...

З.Ы. НЕКТО обвинил меня в регулярном плагиате его сообщений... Бред какой-то... Я его сообщения не вижу (он у меня в списке "игнорирования"). Или он считает себя Биллом Гейтсом? Или совпадение точек зрения он лично отменил? Какая-то ахинея, ей богу... Особенно с "регулярностью"... Или таким образом меня хотят обвинить в старческом маразме? Не дождетесь...
Надеюсь, автор упомянутого бреда поймет всю глупость высказанного им...
Или (а вдруг?) хватит смелости "схлестнуться" со мной хотя бы по ЛС?
Или "смелости" хватает только на подметные письма?

Последний раз редактировалось mihali4; 05.02.2009 в 02:52.
mihali4 вне форума Ответить с цитированием
Старый 09.02.2009, 15:29   #18
KARUSHEV
Форумчанин
 
Аватар для KARUSHEV
 
Регистрация: 11.01.2009
Сообщений: 102
По умолчанию

Всем доброго дня!
Я добавил еще одно поле подстановки из другой таблицы Oplata (ID_Oplata, Kod_Oplati), и вот теперь вопрос, можно ли подправить этот код таким образом, чтобы по умолчанию поле подстановки заполнялся одним из значений Kod_Oplati, например: 'Не оплачено'

procedure TForm7.Button1Click(Sender: TObject);
begin
DataModule2.TDogovor.First
while not DataModule2.TDogovor.eof do;
begin
try
DataModule2.TSchet.Insert;
DataModule2.TSchet.FieldByName('Dat e_Vipiski').Value:=DateTimePicker1. Date;
DataModule2.TSchet.FieldByName('Dat a_Oplati').Value:=DateTimePicker2.D ate;
DataModule2.TSchet.FieldByName('Kod _Dogovor').Value:=DataModule2.TDogo vor.FieldByName('ID_Dogovor'). Value;
DataModule2.TSchet.Post;
except
end;
DataModule2.TDogovor.Next;
end;

Заранее большое спасибо!
KARUSHEV вне форума Ответить с цитированием
Старый 09.02.2009, 18:47   #19
[Smarik]
Веб-разработчик
Форумчанин
 
Аватар для [Smarik]
 
Регистрация: 16.01.2008
Сообщений: 451
По умолчанию

пытаюсь загрузить все значения поля name в бдклмбобокс
Код:
ZQuery1.Close;
ZQuery1.SQL.Clear;
for i:=1 to 10 do
begin
ZQuery1.SQL.Add('select name from items where id='+IntToStr(i)+';');
ZQuery1.Active:=true;
dbcb.Items.Add(ZQuery1.FieldByName('name').AsString);
end;
выдает синтаксис ошибку, может по средствам mysql можно загрузить все? не мучая циклы?
Я ваш новый друг, смиритесь!
[Smarik] вне форума Ответить с цитированием
Старый 09.02.2009, 19:10   #20
Dark_Spirit
Форумчанин
 
Аватар для Dark_Spirit
 
Регистрация: 05.02.2009
Сообщений: 324
По умолчанию

Цитата:
ZQuery1.SQL.Add('select name from items where id='+IntToStr(i)+';');
попробуйте изменить запрос, судя по вашему коду вы точно знаете колличество Id, тогда такой запрос:
select name from items where id='1'
or id='2'
or.......
и так далее до 10.
ещё ошибка может быть в том что вы не взяли в кавычки IntToStr(i) для запроса.
п.с. было бы ещё не плохо увидеть эту ошибку
Тяжело быть бестолковым.....
Dark_Spirit вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
не могу разобраться Var17 Общие вопросы Delphi 6 27.03.2010 01:21
Не могу разобраться с типами DM_bite Помощь студентам 6 11.08.2008 11:22
Не могу разобраться с TreeView Seqular Компоненты Delphi 3 14.04.2007 17:37