Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2006.06.25;
Скачать: [xml.tar.bz2];

Вниз

После SQL-запроса Table1 недоступна!   Найти похожие ветки 

 
Insane SPIRIT   (2006-04-27 07:55) [0]

Почему после выполнения SQL-запроса компонент TTable становится недоступным? Например, метод Table1.Edit не действует, иначе говоря, таблица не реагирует на действия. Вот код выполнения запроса:
begin
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add(Memo1.Text);
Query1.Open;
if Query1.RecordCount <> 0 then
 DataSource1.DataSet:=Query1
else
 DataSource1.DataSet:=Table1;
end;


 
evvcom ©   (2006-04-27 08:28) [1]

Что значит "TTable становится недоступным", "Table1.Edit не действует" и "таблица не реагирует на действия"? В чем это проявляется, как определил?


 
Desdechado ©   (2006-04-27 10:36) [2]

судя по коду, ты заменяешь работу с Ttable работой с TQuery в случае непустоты последнего
естественно, ttable при этом остается не у дел


 
Insane SPIRIT   (2006-04-28 10:32) [3]

evvcom, определил по навигатору, у которого даже после перевода таблицы в режим редактирования доступны только кнопки перехода по записям, так же не работает эта процедура:
procedure TForm1.Edit1Change(Sender: TObject);
var StrFields: string;
begin
StrFields:="Surname";
Table1.Locate(StrFields,Edit1.Text,[loCaseInsensitive,lopartialKey]);
end;

Desdechado, ошибку свою я понял, но после блока IF я передавал DataSource1 таблицу Table1. После этого запрос не выполнялся. Я так понимаю, что получается нехватка времени между выполнением операторов DataSource1.DataSet:=Query1 и DataSource1.DataSet:=Table1. Или я ошибаюсь?


 
Desdechado ©   (2006-04-28 11:47) [4]

что за нехватка времени?!
и где тот участок кода, в котором ты все-таки что-то куда-то возвращаешь?


 
Плохиш ©   (2006-04-28 11:50) [5]


> Insane SPIRIT   (28.04.06 10:32) [3]
> evvcom, определил по навигатору, у которого даже после перевода
> таблицы в режим редактирования доступны только кнопки перехода
> по записям

Я так понимаю, что навигатор привязан к DataSource1? Так что же ты хочешь получить после выполнения [0]? Не пора уже логику включить?


 
Insane SPIRIT   (2006-04-29 10:45) [6]

Пожалуйста:

begin
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add(Memo1.Text);
Query1.Open;
if Query1.RecordCount <> 0 then
DataSource1.DataSet:=Query1
else
DataSource1.DataSet:=Table1;

DataSource1.DataSet:=Table1;

end;
procedure Modes(frm: TForm1);
begin
if frm.RBView.Checked=True then
begin
frm.Table1.Close;
frm.Table1.ReadOnly:=True;
frm.Table1.Open;
end;
if frm.RBEdit.Checked=True then
begin
frm.Table1.Close;
frm.Table1.ReadOnly:=False;
frm.Table1.Open;
frm.Table1.Edit;
end;
end;


 
Insane SPIRIT   (2006-04-29 10:48) [7]

В процедуре Modes проверяются радиокнопки и переводится таблица в один из режимов.


 
Плохиш ©   (2006-04-29 11:42) [8]


> Insane SPIRIT   (29.04.06 10:45) [6]

Хорошо, что мне не надо будет пользоваться этой программой. Глюкодром сплошной.


 
ЮЮ ©   (2006-05-02 07:36) [9]


> В процедуре Modes проверяются радиокнопки и переводится
> таблица в один из режимов.


Так процедуру ещё и вызывать надо :)


> if Query1.RecordCount <> 0 then
> DataSource1.DataSet:=Query1
> else
> DataSource1.DataSet:=Table1;
>
> DataSource1.DataSet:=Table1;



Выкинь 4 первые строки, если есть 5-ая


 
evvcom ©   (2006-05-02 08:57) [10]


> if frm.RBView.Checked=True then

:)
Достаточно if frm.RBView.Checked then

> frm.Table1.Close;
> frm.Table1.ReadOnly:=True;
> frm.Table1.Open;

Зачем переоткрывать набор? Только для того, чтобы ReadOnly установить? Лишнее. Вообще, для работы с таблицей достаточно одного компонента или TTable, или TQuery. Два - это перебор.



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2006.06.25;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.011 c
1-1147543175
RUNaum
2006-05-13 21:59
2006.06.25
Перенос и отлов панели.


1-1147688725
dracula
2006-05-15 14:25
2006.06.25
Добавление списка файлов в программу через меню explorer.


10-1121066017
xmed
2005-07-11 11:13
2006.06.25
трехзвенная архитектура => Статистика на сервере


2-1149606488
media
2006-06-06 19:08
2006.06.25
DSpack


15-1149239087
Чапаев
2006-06-02 13:04
2006.06.25
Inno Setup





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский