• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Sql запрос в Delphi

  • Автор темы pavidlo
  • Дата начала
P

pavidlo

Добрый день. Возникла проблема с sql запросом. Есть 2 таблицы: user и fiz_lica. Они имеют одинаковое поле user.. проблема в том, что в таблицу fiz_lica тянется id_user. Необходимо написать запрос таким образом, чтобы в fiz_lica тянулось имя пользователя, а не его id... В Аксесе я этот запрос сделал, а как мне его сделать в делфи?
 
S

SNike

Что мешает использовать тот же текст SQL в Delphi ?
 
P

pavidlo

Ошибка( Пишет типа ADOQuery1 filds 'id_user' not found... Нет его и все.
 
S

SNike

ну так напиши в запросе Select * from Твоя_Таблица - и увидишь какие поля там есть
 
S

SNike

не, не так далеко ;) да и за что?
Пусть человек выведет все что есть в базе и посмотрит какие поля и данные там есть
 
S

SNike

Ошибка( Пишет типа ADOQuery1 filds 'id_user' not found... Нет его и все.

1) Дай полный текст твоего запроса
2) Если в двух таблицах одинаковые поля то в запросе нужно уточнять из какой именно таблицы использовать поле
2) Написал бы структуру таблиц, как они связаны друг с другом, и что нужно получить в результате запроса
 
N

newmbox

Добрый день. Возникла проблема с sql запросом. Есть 2 таблицы: user и fiz_lica. Они имеют одинаковое поле user.. проблема в том, что в таблицу fiz_lica тянется id_user. Необходимо написать запрос таким образом, чтобы в fiz_lica тянулось имя пользователя, а не его id... В Аксесе я этот запрос сделал, а как мне его сделать в делфи?

sql везде, по сути, один и тот же, что в аксесе , что дельфе, если текст sql скопируешь из аксеса и вставишь в компонент запроса на дельфе все должно работать.
 
D

DarkKnight

sql везде, по сути, один и тот же, что в аксесе , что дельфе, если текст sql скопируешь из аксеса и вставишь в компонент запроса на дельфе все должно работать.
Какой SQL может быть в Delphi вообще???? :)))
Интерпритированием SQL-запроса выступает DB-провайдер, а они для разных СУБД-различные, есть некотрые расхождения в синтаксисах типо упавляющих конструкций "вввв" %01.10.2010% и прочих для различных СУБД, провайдер прекрасно понимает синтаксические особенности своей СУБД, и поэтому запрос на 100% идентичен, что в Accese что в коде Delphi(строка) если использовать тот же Provider=Microsoft.Jet.OLEDB.4.0;

А сам запрос хотелось бы посмотреть, хотя могу сразу сказать, советую в запросе указывать жесткую ссылочность на поля ТАБЛИЦА.ИМЯ_ПОЛЯ
К примеру есть 2 таблицы T1 и T2 с одинаковыми полями (id,s1,s2)
SELECT T1.ID,T1.S1,T2.S2 FROM T1,T2 WHERE T1.id = T2.id
 
R

Rus59Wolf

Еще возможен вариант когда поле просто не задано. Похоже что база на акссесе, значит переносили с использованием TADOConnection, TADOTable, TADOQuery задавая поля fields у таблиц - возможно просто забыли добавить поле в отображение.

Хотя могу и ошибатся
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!