![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
![]() Осваиваю SQL запросы). Помогите мне записать пожалуйста SQL-запрос. У меня есть БД, в которой хранитится мобильный номер какого-то человека, его фамилия и имя, которая называется nomera.db. Мне надо, чтобы по моему запросу выводилась фамилия, имя и мобильный номер нужного мне человека. Как мне правильно организовать работу компонента Query, чтобы он работал? Что мне надо прописать в его свойстве SQL strings? Напишите пожалуйста код, чтобы я понял как правильно составлять запросы) Заранее благодарю))
|
#2
|
|||
|
|||
![]() Во-первых, нужно привести пример своей логики (напр.: известны фамилия и имя, найти телефон; или известен телефон, найти фамилию и имя).
Во-вторых, куда выводить: в отдельные поля (часть данных уже известна и её можно не искать) или в таблицу? Что делать если ответ не единственный? Вообще, лучше дать определение таблицы (какие поля, есть ли Primary Key). Нужно ли использовать параметры? |
#3
|
|||
|
|||
![]() В общем случае:
SELECT * FROM nomera далее, в зависимости от задачи к этому запросу добавляются модификаторы: [LEFT|RIGHT|INNER] JOIN ON - соединение таблиц WHERE - условия фильтрации ORDER BY [ASC|DESC] - сортировка GROU BY - группировка остальные, типа HAVING, используются реже. Если нужны не все поля таблицы (таблиц), то вместо '*' можно просто их перечислить через запятую. А вообще в интернете есть вполне приличные учебники по SQL для новичков. По поводу использования в Delphi. Как ты введешь запрос в соотв. свойстве SQL никого, кроме тебя, не волнует. Главное, что бы он был синтаксически правильным, а как ты будешь бить его на строки все равно. TQuery работает абсолютно так же, как TTable за исключением того, что для все операций используются соотв. запросы, которые надо указать самому. |
#4
|
||||
|
||||
![]() AlexSKu, задача логики простая). Нужно зная фамилию (или имя) человека найти в БД его номер телефона. Выводить можно либо в Label, либо в DBEdit, либо в StringGrid, либо показывать просто messagebox с номером телефона. Как угодно. Поля в таблице следующие: Фамилия, Имя, Мобильный телефон. Первичного ключа нет. Imikle, а можно пожалуйста к моей задаче применительно написать? Задача: есть фамилия и имя, нужно узнать мобильный номер человека. И если можно, то напишите плиз куда прописывать: в свойство TStrings компонента Query или в процедуру кнопки?)
|
#5
|
||||
|
||||
![]() прописывать в свойство SQL
Сведем задачу к такой: Пользователь вводит строку, которая является именем или фамилией. Тогда в SQL надо прописать такую строку: Код:
Далее при нажатии кнопки пишется что-то типа этого: Код:
|
#6
|
||||||||||||
|
||||||||||||
![]() А что здесь означает "*"?)
Код:
Код:
Код:
Код:
Код:
Код:
|
#7
|
|||
|
|||
![]() 1) * означает - вернуть все поля таблицы.
2) По поводу ошибки, да, мысль убежала дпльше, чуть-чуть не дописал. Надо: Код:
![]() |
#8
|
||||
|
||||
![]() Я открыл свойство Param компонента Query, выбрал строку "SearchString" и прописал так ее свойства:
DataType=ftString Name=:SearchString NumericScale=0 ParamType=ptInputOutput Precision=0 Size=0 Value.Type=Строка У второй строки, которая до изменения была "TParam" я поменял название на "ParamByName" и ее свойства прописал так: DataType=ftString Name=ParamByName NumericScale=0 ParamType=ptInputOutput Precision=0 Size=0 Value.Type=Unassigned И если я запускаю программу и в строке поиска ничего не ввожу или ввожу какую-нибудь фамилию и имя (они имеются в БД), нажимаю на "ОК", то появляется ошибка: "Invalid use of keyword. Token:SearchString Line Number: 1." Может где-то я неправильно прописал в свойствах Query? |
#9
|
|||
|
|||
![]() У меня всё работает после небольших исправлений:
Код:
Параметр "SearchString" : DataType=ftString ( оставить без двоеточия: Name=SearchString) ParamType=ptInput |
#10
|
||||
|
||||
![]() "Invalid use of keyword.
Token:SearchString Line Number: 1." Выдает все ту же ошибку((. AlexSku, не могли бы вы выложить исходник с примером, чтобы я мог посмотреть где я туплю? |
#11
|
||||
|
||||
![]() Начало utit'а:
Код:
Код:
|