![]() |
1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
![]() ![]() |
![]() |
18192123 |
![]()
Сообщение
#1
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 920 Пол: Женский Реальное имя: Марина Репутация: ![]() ![]() ![]() |
Здравствуйте!
Предположим, у меня есть компонент DBGrid2, куда будут выводятся результаты запроса компонента IBQuery2, но в тексте запроса присутствует параметр, в качестве которого хочу передавать значение поля, выделенного в другой DBGrid1....Так вот..а как прописать??
|
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Ну, если
Цитата значение поля, выделенного в другой DBGrid1 , тоIBQuery2->Params->ParamByName("A")->AsString=DBGrid1->SelectedField->AsString; |
18192123 |
![]()
Сообщение
#3
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 920 Пол: Женский Реальное имя: Марина Репутация: ![]() ![]() ![]() |
IBQuery2->Params->ParamByName("A")->AsString=DBGrid1->SelectedField->AsString; Ошибка...Скажите пожалуйста, как её можно устранить..? Эскизы прикрепленных изображений ![]() |
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
Не знаю... Ошибка возникает не при чтении из DBGrid1, а при работе с IBQuery скорее всего, потому что код
ShowMessage(DBGrid1->SelectedField->AsString);, вызванный по нажатию кнопки, прекрасно отрабатывает, если в Гриде было выбрано какое-то поле. То есть, обращение к SelectedField->AsString вполне легально. А что там у тебя творится в IBQuery я не знаю... Если передаешь значение непосредственно: IBQuery2->Params->ParamByName("A")->AsString="что-то";, работает? |
18192123 |
![]()
Сообщение
#5
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 920 Пол: Женский Реальное имя: Марина Репутация: ![]() ![]() ![]() |
|
volvo |
![]()
Сообщение
#6
|
Гость ![]() |
Ну, тогда попробуй разделить эту операцию на 2: Сначала читать из ячейки Грида в дополнительную переменную (AnsiString), а потом - передавать эту строку в Query, и смотри, на каком этапе возникнет ошибка...
|
18192123 |
![]()
Сообщение
#7
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 920 Пол: Женский Реальное имя: Марина Репутация: ![]() ![]() ![]() |
Ну, тогда попробуй разделить эту операцию на 2... Вот...Попробывала..
т.е. что-то не так со считыванием из Grid.. |
volvo |
![]()
Сообщение
#8
|
Гость ![]() |
Интересно... Мне такую ошибку удалось воспроизвести только при условии, что свойство DataSource->DataSet->Active этого самого Грида выставлено в False, тогда действительно из Грида ничего нельзя прочесть, ведь читать, собственно, нечего. Но тогда ведь и Грид пустой, он просто ничего не содержит, поскольку источник данных неактивен (или в 6-ом Билдере как-то по другому?)
Во всех других случаях, если в Гриде что-то есть, и присутствует эта стрелочка (активная запись) слева, то обращение к SelectedField отрабатывает без сбоя, другого простого способа обратиться к выбранному элементу по-моему просто нет... Кстати, а на каком событии висит у тебя этот код? Когда он вызывается? |
18192123 |
![]()
Сообщение
#9
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 920 Пол: Женский Реальное имя: Марина Репутация: ![]() ![]() ![]() |
Удалила компоненты и создала всё заново...И заработало-таки!
Спасибо за помощь! |
![]() ![]() |
![]() |
Текстовая версия | 23.07.2025 14:51 |