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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.05.2012, 19:55   #1
Марсель21
Пользователь
 
Аватар для Марсель21
 
Регистрация: 17.11.2011
Сообщений: 52
Вопрос Ошибка синтаксиса (пропущен оператор) в выражении запроса

Ошибка синтаксиса (пропущен оператор) в выражении запроса 'R.Kod_Stepeni=RD.Kod_Stepeni AND R.Tab_nomer=' ..... помагите в чём может быть проблема???
Код:
procedure TForm1.TabSheet3Show(Sender: TObject);
begin
  ADOQuery1.SQL.Clear;
  ADOQuery1.SQL.Add('SELECT R.Kod_rodstvennika,RD.Rodstvo AS Kod,R.FIO,R.God_rogdenie,R.Kod_Stepeni,R.Tab_nomer FROM Rodstvennik R, Rodstvo RD WHERE R.Kod_Stepeni=RD.Kod_Stepeni AND R.Tab_nomer='+ADOTable1Tab_nomer.AsString);
  ADOQuery1.Active:=true;
  //ADOQuery1.Edit;
  ADOQuery2.Active:=true;
  ComboBox1.Items.Clear;
  while not ADOQuery2.Eof do
  begin
    ComboBox1.Items.Add(ADOQuery2.FieldByName('Rodstvo').AsString);
    ADOQuery2.Next;
  end;
  ComboBox1.Text:=ADOQuery1Kod.Value;
end;
Если код не помог скину всю программу, ну и если ому нужна на базу данных типа "Отдела Кадров"
Марсель21 вне форума Ответить с цитированием
Старый 17.05.2012, 22:26   #2
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,882
По умолчанию

Не знаю, в чём ошибка, я Вам просто предложу сделать через параметры, вот пример
Код:
...
qry1.SQL.Add('WHERE Lastname = :Lastname'); // после двоеточия параметр
qry1.Parameters.ParamByName('Lastname').Value := 'Иванов';
phomm вне форума Ответить с цитированием
Старый 17.05.2012, 22:34   #3
googl
Форумчанин
 
Регистрация: 05.06.2010
Сообщений: 154
По умолчанию

Rodstvennik R, Rodstvo RD

Это как понимать? Названия таблиц? нельзя так писать.

Цитата:
ну и если ому нужна на базу данных типа "Отдела Кадров"
Очень важная инфа XD

Последний раз редактировалось googl; 17.05.2012 в 22:37.
googl вне форума Ответить с цитированием
Старый 17.05.2012, 23:00   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
Это как понимать? Названия таблиц? нельзя так писать.
Почему ?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 17.05.2012, 23:09   #5
googl
Форумчанин
 
Регистрация: 05.06.2010
Сообщений: 154
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Почему ?
В запросе. По крайней мере в ACCESS (что у меня есть в наличие) с пробелами писать нельзя. только так
Цитата:
select * from [Table 1]
googl вне форума Ответить с цитированием
Старый 17.05.2012, 23:14   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

R и RВ псевдонимы таблиц, пробелы здесь не при делах
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 17.05.2012, 23:26   #7
googl
Форумчанин
 
Регистрация: 05.06.2010
Сообщений: 154
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
R и RВ псевдонимы таблиц, пробелы здесь не при делах
а, алиас, да, тупанул. но опять же. или зависит от Субд? где as?
googl вне форума Ответить с цитированием
Старый 17.05.2012, 23:27   #8
googl
Форумчанин
 
Регистрация: 05.06.2010
Сообщений: 154
По умолчанию

автор, сделай showmessage(ADOQuery1.SQL.text) и скопируй результат сюда
googl вне форума Ответить с цитированием
Старый 17.05.2012, 23:50   #9
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

Цитата:
R.Tab_nomer='+ADOTable1Tab_nomer.As String
Есть мнение, что номер - это строка и её надо заключать в кавычки.

Впрочем, вам уже посоветовали правильное решение - выкинуть этот код и использовать параметры.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Старый 14.01.2015, 09:01   #10
lord24
Форумчанин
 
Регистрация: 04.01.2013
Сообщений: 107
По умолчанию

Дабы не плодить подобное, ребята помогите. уже все глаза высмотрел.
Ошибка синтаксиса (пропущен оператор) в выражении запроса
Код:
ADOQuery1.SQL.Text:= 'INSERT INTO Adreses ([Код],[Index],[Name],[Adres],[Sity],[Obl],[Regin]) VALUES ('','+QuotedStr(Edit4.Text)+','+QuotedStr(Edit1.Text)+','+QuotedStr(Edit2.Text)+','+QuotedStr(Edit5.Text)+','+QuotedStr(Edit6.Text)+','+QuotedStr(Edit7.Text)+')';
Где тут что не так?
lord24 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка синтаксиса SQL запроса Brother Abbat БД в Delphi 5 16.12.2011 09:00
Помогите с запросом SQL. Ошибка синтаксиса в выражении запроса. ZiG24RUS Microsoft Office Access 1 19.05.2009 06:29
при поиске по базе выдает ошибку - Пропущен оператор в выражении frai БД в Delphi 1 09.11.2007 23:01
[Microsoft][Драйвер ODBC dBase] Дата содержит синтаксическую ошибку в выражении запроса '#FNAIM_SH' Jon_1981 БД в Delphi 1 11.06.2007 10:20