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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.03.2014, 18:54   #1
Bane
LetTheGameBegin
Пользователь
 
Аватар для Bane
 
Регистрация: 13.03.2014
Сообщений: 34
По умолчанию Почему ошибка синтаксиса???

Вот что не так? Я уже всяко перепробовал писать этот код. о все одна ошибка синтаксиса INSERT INTO. Должно в базу вводить нового пользователя...

Код:
procedure TForm9.Button1Click(Sender: TObject);
var a, b, c: string;
begin
a:=Form9.Edit1.Text;
b:=Form9.Edit2.Text;
c:='polzovatel';
With ADOQuery1 do
  begin
  SQL.Clear;
  SQL.Add('INSERT INTO Prov SET Login='+a+', Password='+b+', Dostup='+c+'');
  Active:=true;
  ExecSQL;
  end;
end;
Я только учусь)
Bane вне форума Ответить с цитированием
Старый 23.03.2014, 19:00   #2
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
По умолчанию

Не правильный синтаксис запроса на добавление. Попробуйте так:
Код:
SQL.Add('INSERT INTO Prov (Login, Password, Dostup) VALUES ('+QuotedStr(a)+','+QuotedStr(b)+', '+QuotedStr(c)+')');
В помощь:
Insert (SQL)
Streletz вне форума Ответить с цитированием
Старый 23.03.2014, 19:02   #3
Bane
LetTheGameBegin
Пользователь
 
Аватар для Bane
 
Регистрация: 13.03.2014
Сообщений: 34
По умолчанию

Цитата:
Сообщение от Streletz Посмотреть сообщение
Не правильный синтаксис запроса на добавление. Попробуйте так:
Код:
SQL.Add('INSERT INTO Prov (Login, Password, Dostup) VALUES ('+QuotedStr(a)+','+QuotedStr(b)+', '+QuotedStr(c)+')');
В помощь:
Insert (SQL)
Попробовал, то же самое... Ошибка синтаксиса INSERT INTO.
Я только учусь)
Bane вне форума Ответить с цитированием
Старый 23.03.2014, 19:06   #4
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
По умолчанию

Что за СУБД?
Streletz вне форума Ответить с цитированием
Старый 23.03.2014, 19:09   #5
Bane
LetTheGameBegin
Пользователь
 
Аватар для Bane
 
Регистрация: 13.03.2014
Сообщений: 34
По умолчанию

Цитата:
Сообщение от Streletz Посмотреть сообщение
Что за СУБД?
MS Access...
Я только учусь)
Bane вне форума Ответить с цитированием
Старый 23.03.2014, 19:49   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Попробовал, то же самое
Что пробовал? Или нам дофантазировать?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 23.03.2014, 20:40   #7
Bane
LetTheGameBegin
Пользователь
 
Аватар для Bane
 
Регистрация: 13.03.2014
Сообщений: 34
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Что пробовал? Или нам дофантазировать?
Читай внимательней...

Цитата:
Сообщение от Stilet Посмотреть сообщение
Что пробовал? Или нам дофантазировать?
Попробовал запустить запрос который посоветовал Streletz...
Код:
SQL.Add('INSERT INTO Prov (Login, Password, Dostup) VALUES ('+QuotedStr(a)+','+QuotedStr(b)+', '+QuotedStr(c)+')');
Я только учусь)

Последний раз редактировалось Stilet; 23.03.2014 в 21:14.
Bane вне форума Ответить с цитированием
Старый 23.03.2014, 20:47   #8
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Active:=true; убери
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 23.03.2014, 20:47   #9
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
По умолчанию

Цитата:
MS Access...
Вполне возможно, что проблема также в зарезервированных словах. Попробуйте взять названия полей в квадратные скобки.
Код:
SQL.Add('INSERT INTO Prov ([Login], [Password], [Dostup]) VALUES ('+QuotedStr(a)+','+QuotedStr(b)+', '+QuotedStr(c)+')');
Вообще, использование в качестве названия полей таких слов, как Login, Password, User и им подобных, в любой СУБД, очень плохая идея. В некоторых СУБД это может нормально работать, но всё равно лучше так не делать.
Streletz вне форума Ответить с цитированием
Старый 23.03.2014, 20:51   #10
Bane
LetTheGameBegin
Пользователь
 
Аватар для Bane
 
Регистрация: 13.03.2014
Сообщений: 34
По умолчанию

Цитата:
Сообщение от Streletz Посмотреть сообщение
Вполне возможно, что проблема также в зарезервированных словах. Попробуйте взять названия полей в квадратные скобки.

Вообще, использование в качестве названия полей таких слов, как Login, Password, User и им подобных, в любой СУБД, очень плохая идея. В некоторых СУБД это может нормально работать, но всё равно лучше так не делать.
Спасибо) Сработало))) А какие слова лучше использовать?
Я только учусь)
Bane вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка синтаксиса Соффи JavaScript, Ajax 18 29.03.2012 12:56
Ошибка синтаксиса в предложении FROM AJIuCaRD БД в Delphi 29 20.01.2012 21:11
ошибка синтаксиса MetR Общие вопросы Delphi 11 13.01.2012 12:40
ошибка синтаксиса в предложении from MetR Помощь студентам 7 13.01.2012 11:04
Ошибка синтаксиса Santosh Microsoft Office Access 2 18.08.2010 00:15