Любитель |
Отправлено: 15.02.2007, 18:55 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 53
|
Здравствуйте! На форме SQLConnection1 — коннест есть. все нормально. SQLQuery1. Необходимо сделать выборку из таблицы. Структура следущая:
Имя поля | Тип
id | int — - первичный
chislo | shorint
field1 | varchar(32)
text | text
Я не совсем понимаю для чего у компонента SQLQuery1 нужны Fields. В них будут сохранятся результаты выборки? а для чего нужно Params?
В общем в Инспекторе Полей SQLQuery1 добавил поле id и указал Field Type — Data. В свойство SQL написал следущее:
"SELECT id FROM mytable". Все ОК. это выборкка только одного поля id. Теперь хочу еще сделать выборку по полю chislo. Добавил Инспекторе Полей новое поле chislo, тип String, Field Type — Data. Изменил текст запроса на такой:
"SELECT id, chislo FROM mytable"
Активизирую SQLQuery1 (Active = true) и вылетает ошибка:
Access violation at adress 13B3B960 in module "dbxmys30.dll". Read of address 00000002
В чем дело?
|
|
Valdemar |
Отправлено: 16.02.2007, 17:35 |
|
Мастер участка
Группа: Участник
Сообщений: 433
|
Fields можно и не заполнять. Его удобно использовать когда необходимо сделать новое поле, которое получается не выборкой данных из таблиц, например, вычислимое поле.
Params служит для работы с параметрами параметрических запросов. |
|
Любитель |
Отправлено: 16.02.2007, 17:41 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 53
|
QUOTE (Valdemar @ 16.02.2007, 17:35) | Fields можно и не заполнять. Его удобно использовать когда необходимо сделать новое поле, которое получается не выборкой данных из таблиц, например, вычислимое поле.
Params служит для работы с параметрами параметрических запросов. |
Если я не заполняю поля Fields, то вылетает ошибка
Access violation at adress 13B3B960 in module "dbxmys30.dll". Read of address 00000002
|
|
ion |
Отправлено: 22.02.2007, 12:34 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 15
|
Q->Close();
Q->SQL->Clear();
Q->SQL->Add("SELECT id FROM mytable");
int id=Q->FieldByName("ID")->AsInteger;
AnsiString SS=Q->FieldByName("field1")->AsString;
но вообщето Експесс под мускул глючная вещь, стндартная не работала
поищи в интернете болле реальные експрессы |
|