Обнаружены символы за пределами инструкции sql access

1
2
3
4
5
INSERT INTO Teachers (КодУчителя, Фамилия, Имя, Отчество, Предмет, НомерТелефона) VALUES(1, Антипина, Светлана, Бронислововна, БД, 23432);
INSERT INTO Teachers (КодУчителя, Фамилия, Имя, Отчество, Предмет, НомерТелефона) VALUES(2, Наговицына, Елена, Александровна, Информ, 21122);
INSERT INTO Teachers (КодУчителя, Фамилия, Имя, Отчество, Предмет, НомерТелефона) VALUES(3, Сычева, Наталья, Витальевна, Информ, 21132);
INSERT INTO Teachers (КодУчителя, Фамилия, Имя, Отчество, Предмет, НомерТелефона) VALUES(4, Сычёв, Даниил, Витальевич, Физра, 23444);
INSERT INTO Teachers (КодУчителя, Фамилия, Имя, Отчество, Предмет, НомерТелефона) VALUES(5, Чепырина, Валентина, Александровна, Экология, 23422);

 
Whippi
 
(2003-01-13 15:56)
[0]

Что за фигня:

Написал простенький запрос к Аксесовской базе:



SELECT Изделия.*, Компоненты.*, Состав.*

FROM Изделия, Компоненты, Состав;

WHERE Изделия.ИЗД=Состав.ИЗД

AND Компоненты.КОМП=Состав.КОМП;



и выдало такую ошибку: Обнаружены символы за пределами инструкций SQL.

Но вот не вижу где ошибка. Ткните носом пожалуйста :))


 
Delirium^.Tremens
 
(2003-01-13 15:58)
[1]

Русские символы


 
Zz_
 
(2003-01-13 16:04)
[2]

FROM Изделия, Компоненты, Состав
;


 
Whippi
 
(2003-01-13 16:11)
[3]

2Delirium^.Tremens:

Какие русские символы,пишу просто:

SELECT Изделия.*, Компоненты.*, Состав.*

FROM Изделия, Компоненты, Состав;
прокатывает, только добавляю:

WHERE Изделия.ИЗД=Состав.ИЗД

AND Компоненты.КОМП=Состав.КОМП;


Выдает:Обнаружены символы за пределами инструкций SQL.

2Zz_


> FROM Изделия, Компоненты, Состав ;



А у меня что?


 
stone
 
(2003-01-13 16:13)
[4]

после FROM Изделия, Компоненты, Состав не надо ставить ;


 
Whippi
 
(2003-01-13 16:20)
[5]

Блиииииииииин,

спасибо за науку, впредь акуратнее буду примеры сдирать :))


Добрый день!  Жду...
На самостоятельное изучение дали тему «Применение параметров при реализации SQL-запросов». Программа должна реализовывать следующее:
* Добавлять записи в таблицу (INSERT)
* Удалять записи из таблицы (DELETE)
* Редактировать записи в таблице (UPDATE)
* Выдавать информацию о товарах из таблицы, которых на складе осталось меньше введённого количества.
И всё это исключительно с помощью параметров.
Таблица в БД у меня такая:
Поле IDCode (счётчик, первичный ключ)
Поле TovarName (текстовый)
Поле Price (числовой, двойное с плавающей точкой)
Поле Sklad (числовой, длинное целое)
Причём в методичке сказано что данные в неё вносить не нужно, это осуществится с помощью Дельфи, поэтому таблица пустая.
Ну а в Дельфи соответственно 4 ADOQuery, в каждом свои параметры.
Проблемы возникли уже на первой операции (INSERT). Параметры в запросе следующие:
* TName:
DataType — ftString
А вот Value он почему-то «не захотел» делать String, упорно ставит её OleStr. В этом я думаю и заключается проблема… Чайник
* Price:
DataType — ftFloat
Value «само по себе делается» Double и по-другому никак не хочет
* Sklad:
DataType — ftInteger
Value — Integer
В ADOQuery в свойстве SQL код:

INSERT INTO Table1 (TovarName, Price, Sklad)
Values( :TName, :Price, :Sklad);

Вот текст всей программы:

unit LAB7Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons, Grids, DBGrids, DB, ADODB;

type
  TForm1 = class(TForm)
    ADOConnection1: TADOConnection;
    ADOQuery1: TADOQuery;
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    BitBtn3: TBitBtn;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Label5: TLabel;
    Edit4: TEdit;
    BitBtn4: TBitBtn;
    ADOQuery2: TADOQuery;
    DataSource2: TDataSource;
    ADOQuery3: TADOQuery;
    DataSource3: TDataSource;
    ADOQuery4: TADOQuery;
    DataSource4: TDataSource;
    Edit5: TEdit;
    Label6: TLabel;
    procedure BitBtn4Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  X: integer;

implementation

{$R *.dfm}

procedure TForm1.BitBtn4Click(Sender: TObject); {инф-ия о товаре из табл.1, кот. на складе осталось меньше указанного кол-ва}
begin
ADOQuery1.Active:=false;
ADOQuery1.Parameters.ParamByName(‘NS’).Value:=StrToInt(Edit4.Text);
ADOQuery1.Active:=true;
ADOQuery1.SQL.Add(‘SELECT * FROM Table1’);
end;

procedure TForm1.BitBtn1Click(Sender: TObject); {Добавить записи в табл.1}
begin
ADOQuery2.Parameters.ParamByName(‘TName’).Value:=Edit1.Text;
ADOQuery2.Parameters.ParamByName(‘Price’).Value:=StrToFloat(Edit2.Text);
ADOQuery2.Parameters.ParamByName(‘Sklad’).Value:=StrToInt(Edit3.Text);
ADOQuery2.ExecSQL;
ADOQuery2.SQL.Add(‘SELECT * FROM Table1’);
end;

procedure TForm1.BitBtn3Click(Sender: TObject); {редактировать запись}
begin
ADOQuery3.Parameters.ParamByName(‘ID_Code’).Value:=StrToInt(Edit5.Text);
ADOQuery3.Parameters.ParamByName(‘TName’).Value:=Edit1.Text;
ADOQuery3.Parameters.ParamByName(‘Price’).Value:=StrToFloat(Edit2.Text);
ADOQuery3.Parameters.ParamByName(‘Sklad’).Value:=StrToInt(Edit3.Text);
ADOQuery3.ExecSQL;
ADOQuery3.SQL.Add(‘SELECT * FROM Table1’);
end;

procedure TForm1.BitBtn2Click(Sender: TObject); {удалить запись}
begin
ADOQuery4.Parameters.ParamByName(‘ID_Code’).Value:=StrToInt(Edit5.Text);
ADOQuery4.SQL.Add(‘SELECT * FROM Table1’);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
ADOQuery1.SQL.Add(‘SELECT * FROM Table1’);
ADOQuery2.SQL.Add(‘SELECT * FROM Table1’);
ADOQuery3.SQL.Add(‘SELECT * FROM Table1’);
ADOQuery4.SQL.Add(‘SELECT * FROM Table1’);
end;

end.

Запустила, вввела в Edit’ы наименование товара, цену, склад, нажимаю кнопку «Добавить» — прога вылетает с ошибкой «Обнаружены символы за пределами инструкции SQL». Здесь была моя ладья... Ну а другие операции я даже проверить не могу пока эта не станет работать… Да можно...
Подскажите пожалуйста, как побороть эту ошибку?! Ах!

#1 11.05.2020 13:59:47

SuperDelfi
Участник
Зарегистрирован: 11.05.2020
Сообщений: 1

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

Необходимо было перехватить код, только что добавленной строки, использовал @@Identity т.к база данных находится на access

INSERT INTO [Автошкола]
([Фамилия], [Имя], [Отчество], [Пол], [Гражданство], [Дата_рождения], [Кол-во], [Категория], [Дата_приёма_на_работу], [Код_прохождения], [Код_принятия], [Код_должности], [Адрес_проживания], [Телефон])
VALUES        (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);
SELECT @@IDENTITY

Выдаёт ошибку о том что «Обнаружены символы за пределами инструкции»
Крик души!

Неактивен

#2 11.05.2020 20:53:43

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2415

Re: Обнаружены символы за пределами инструкции

На данном форуме разбираются вопросы по MySQL, Вам имеет смысл обратиться на форум по Microsoft Access.


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли…

Неактивен

Search code, repositories, users, issues, pull requests…

Provide feedback

Saved searches

Use saved searches to filter your results more quickly

Sign up

Понравилась статья? Поделить с друзьями:

Новое и полезное:

  • Обн01 30 012 фотон инструкция
  • Обн 75 ухл4 азов инструкция по применению
  • Обн 150 с 2х30 кронт инструкция
  • Обн 150 кронт инструкция по применению
  • Обн 15 01 кама инструкция

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии