|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
19.03.2010, 11:25 | #1 |
Новичок
Джуниор
Регистрация: 19.03.2010
Сообщений: 2
|
Трудности с обработкой результата SQL запроса
Помогите пожалуйста разобраться, я уже весь мозг себе сломал...
Нужно сделать выборку из таблицы, получить оттуда номера и сделать Shape с такими номерами круглыми. Я делаю так: with Form1.Query1 do begin Close; SQL.Clear; Query1.SQL.Add('SELECT Pos_n, Bron from mesta.DB WHERE Id_s = "'+Label9.Caption+'";'); Query1.Open; Query1.First; while not Query1.EOF do begin MyInc:= ''; FindComponent('TShapeID').Free; MyInc:= InttoStr(Query1.Fields[0].AsInteger); TShapeID:= FindComponent('shape'+MyInc); TShape(TShapeID).Shape := stCircle; Query1.Next; end; При выполнении получаю ошибку "Access violation"... Видно меня заклинило, уже два дня не могу разобраться в чем проблема... |
19.03.2010, 11:49 | #2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
два дня?!?
>>FindComponent('TShapeID').Free; у Вас на форме есть компонент с именем TShapeID ?! и даже если есть - он явно один, а Вы в цикле пытаетесь что-то удалить! ДА с использованием подобных методов ВСЕГДА надо проверять, что что-то нашлось (FindComponent<>nil ) >>TShapeID:= FindComponent('shape'+MyInc); >>TShape(TShapeID).Shape := stCircle; то же самое! если не нашлось shape с номером равным Pos_n то попытся сделать НеНайденное округлым выдаст тот же Access Violation...! |
19.03.2010, 11:59 | #3 |
Новичок
Джуниор
Регистрация: 19.03.2010
Сообщений: 2
|
На форме есть 50 компонентов Shape, именно их я и пытаюсь перебрать...
строкой "FindComponent('TShapeID').Free ;" я пытаюсь обнулить предыдущее значение... P.S. Прошу меня извинить за мои познания в Delphi, никогда еще не приходилось с ним работать. |
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
отображение результата запроса в combobox | mile4ka | БД в Delphi | 3 | 20.12.2010 18:17 |
Удаление строки с помощью SQL запроса (Query1.SQL.ADD('Delete....')) | Schutze | Помощь студентам | 6 | 29.11.2009 22:15 |
сохранение результата запроса в таблицу БД | stepchild | БД в Delphi | 11 | 13.06.2008 11:20 |