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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.05.2011, 15:03   #1
Itachi
Пользователь
 
Регистрация: 24.12.2009
Сообщений: 36
Вопрос из БД Access в ComboBox

Здравствуйте. Мне требуется вывести столбец из бд в комбобокс, покопался в интернете нашел несколько статей, но реализовать их не вышло, решил поэксперементировать и написал так:
Код:
if ComboBox1.text='Памятники' then begin
datamodule2.ADOQuery1.Active := false;
datamodule2.ADOQuery1.SQL.Clear;
datamodule2.ADOQuery1.SQL.Add('SELECT kname FROM kos WHERE Kat=Памятники;');
datamodule2.ADOQuery1.Active := true;
ComboBox2.Items.Add(DataModule2.ADOQuery1.fieldbyname ('Kname').asstring);
 end
но не работает и можно ли так вообще писать?
З.Ы. что значит ошибка:
[Ошибка] Unit1.pas(297): Missing operator or semicolon
Заранее спасибо

Последний раз редактировалось Itachi; 16.05.2011 в 15:05.
Itachi вне форума Ответить с цитированием
Старый 16.05.2011, 15:49   #2
MoBLer
Пользователь
 
Аватар для MoBLer
 
Регистрация: 30.12.2010
Сообщений: 91
По умолчанию

Код:
if ComboBox1.text='Памятники' then begin
datamodule2.ADOQuery1.Active := false;
datamodule2.ADOQuery1.SQL.Clear;
datamodule2.ADOQuery1.SQL.Add('SELECT kname FROM kos WHERE Kat='+char(39)+'Памятники'+char(39));
datamodule2.ADOQuery1.Active := true;
 while not datamodule2.ADOQuery1.Eof do begin
        ComboBox2.Items.Add(datamodule2.ADOQuery1.FieldByName('Kname').AsString) ;
          datamodule2.ADOQuery1.Next ;
      end ;
 end;
попробуй так .
Цитата:
[Ошибка] Unit1.pas(297): Missing operator or semicolon
возможно ; где то пропустил
Я тебе помог, добавь отзыв)))))
Статьи по программированию
MoBLer вне форума Ответить с цитированием
Старый 16.05.2011, 17:42   #3
Itachi
Пользователь
 
Регистрация: 24.12.2009
Сообщений: 36
По умолчанию

MoBLer спасибо, все прекрасно работает)
Itachi вне форума Ответить с цитированием
Старый 16.05.2011, 18:09   #4
Itachi
Пользователь
 
Регистрация: 24.12.2009
Сообщений: 36
По умолчанию

насчет ошибки:
Код:
begin
//добавление
DataModule2.ADOQuery1.Active:=false;
DataModule2.ADOQuery1.SQL.Clear;
DataModule2.ADOQuery1.SQL.Add('Insert into kos(kat,kname,name,adres,opisanie)');
DataModule2.ADOQuery1.SQL.Add('values('+ComboBox3.text+','+Edit1.text+','+edit2.text+','+edit3.text+','+memo4.lines');');
//в предыдущей строке после последнего "'" выдает:
//Missing operator or semicolon, хотя ";" вроди где надо и сколько надо стоят?
DataModule2.ADOQuery1.ExecSQL;
end;
Itachi вне форума Ответить с цитированием
Старый 16.05.2011, 18:40   #5
MoBLer
Пользователь
 
Аватар для MoBLer
 
Регистрация: 30.12.2010
Сообщений: 91
По умолчанию

Код:
begin
//добавление
DataModule2.ADOQuery1.Active:=false;
DataModule2.ADOQuery1.SQL.Clear;
DataModule2.ADOQuery1.SQL.Add('Insert into kos(kat,kname,name,adres,opisanie)');
DataModule2.ADOQuery1.SQL.Add('values('+char(39)+ComboBox3.text+char(39)+','+char(39)+Edit1.text+char(39)+','+char(39)+edit2.text+char(39)+','+char(39)+edit3.text+char(39)+','+char(39)+memo4.lines+char(39)+')');
DataModule2.ADOQuery1.ExecSQL;
end;
char(39)- это программный '
текстовые переменные нужно брать в скобки '
проверь, возможны незначительные опичатки
Я тебе помог, добавь отзыв)))))
Статьи по программированию
MoBLer вне форума Ответить с цитированием
Старый 16.05.2011, 18:50   #6
OlegVE
Форумчанин
 
Регистрация: 27.09.2010
Сообщений: 376
По умолчанию

Здравствуйте
Вместо
Код:
...char(39)+ComboBox3.text+char(39)...
Код:
...QuotedStr(ComboBox3.text)...
и т.д. где есть текст
До свидания
OlegVE вне форума Ответить с цитированием
Старый 16.05.2011, 19:56   #7
Itachi
Пользователь
 
Регистрация: 24.12.2009
Сообщений: 36
По умолчанию

никак не выходит использовать memo:
Код:
 '+QuotedStr(memo4.lines)+'
Код:
'+char(39)+memo4.lines+'
Код:
'+char(39)+memo4.lines+char(39)+'
, не работают, вылетают ошибки:
Код:
Incompatible types: 'String' and 'TStrings'
или
Код:
Missing operator or semicolon
если не использовать memo все хорошо работает, но без него никак (требуется ввод большого текста)
Itachi вне форума Ответить с цитированием
Старый 16.05.2011, 21:55   #8
MoBLer
Пользователь
 
Аватар для MoBLer
 
Регистрация: 30.12.2010
Сообщений: 91
По умолчанию

пиши
Код:
memo.text
Я тебе помог, добавь отзыв)))))
Статьи по программированию
MoBLer вне форума Ответить с цитированием
Старый 18.05.2011, 17:08   #9
Itachi
Пользователь
 
Регистрация: 24.12.2009
Сообщений: 36
По умолчанию

MoBLer так работает, еще раз спасибо
Itachi вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Webbrowser и combobox: сделать чтобы в combobox-е оставалась история посещенных сайтов uasya2 Общие вопросы Delphi 6 06.03.2011 20:24
Combobox -> DBGrid -> Combobox... EXTREEM БД в Delphi 2 20.12.2010 18:19
список таблиц БД Access и combobox spikeden Помощь студентам 2 20.12.2010 11:40
Не могу внести строку из combobox в combobox!? tacer Помощь студентам 1 30.11.2007 19:45
В combobox выбирать данные из списка таблицы (Access) Inbox БД в Delphi 1 15.06.2007 10:45