Форум: "Базы";
Текущий архив: 2003.12.23;
Скачать: [xml.tar.bz2];
ВнизЭтот странный DataSet Найти похожие ветки
← →
Goida (2003-11-28 16:49) [0]Почему в DataSet RecNo постоянно равен -1?
← →
Anatoly Podgoretsky (2003-11-28 16:51) [1]А почему бы и нет.
← →
Inkotex (2003-11-28 16:54) [2]RecNo ето параметр номера записи в активном наборе даных,и если ты нечого неменяеш он с начала всегда будет равен 1.
Может тебе надо RecordCount
← →
BlackKing (2003-11-28 17:01) [3]Jesli baza na SQL-servere to RecNo vsegda -1. A v Paradox i DBase ukazivajet na tekushuju zapis".
Zhal" dlja SQL ona ne rabotajet :o(
← →
sniknik (2003-11-28 17:04) [4]http://delphimaster.net/view/3-1069400708/
гляжу наконецто проверил, может и другим рекомендациям последуеш наконец?
← →
sniknik (2003-11-28 17:08) [5]BlackKing (28.11.03 17:01) [3]
не всегда, когда рекодсет получает все данные RecNo отражает номер записи в полученном рекордсете. (но это не номер записи в таблице! жего обычно хотят)
← →
Vlad (2003-11-28 17:11) [6]Вопрос пора в FAQ, чесслово.
Какая СУБД хоть и какие компоненты доступа ?
← →
Goida (2003-11-28 17:13) [7]> sniknik ©
Да, только проверил. Но не потому что ленивый ;) Времени нет.
Тогда делал лабу, теперь работу, а проблема осталась та еще. Ни как не могу разобраться.
А мне нужно сохранять позицию после обновления... :((( Что делать?
← →
HSolo (2003-11-28 17:15) [8]Запомнить ключ записи, потом Locate
← →
Goida (2003-11-28 17:16) [9]> Vlad
Sybase и MsSQL. Стандартные компоненты доступа.
← →
Goida (2003-11-28 17:17) [10]>HSolo ©
А locate перенесет на нужную запись?
← →
Inkotex (2003-11-28 17:18) [11]Неуверен что поможет, ты ставь bookmark делай обновление потом возвращайся к закладке.
← →
Goida (2003-11-28 17:20) [12]> Inkotex
Как оную поставить?
← →
HSolo (2003-11-28 17:22) [13]Разумеется, перенесет, куда ж он денется :)) - если Вы запомните все поля, нужные для однозначного опознания нужной Вам записи
← →
BlackKing (2003-11-28 17:24) [14]sniknik © (28.11.03 17:08) [5]
ja i imel v vidu porjadkovij nomer v datasete, a ne v tablice.
vot potomu i ne pojmu, pochemu jego ne sdelali dlja SQL.
← →
Vlad (2003-11-28 17:25) [15]
> Goida © (28.11.03 17:13) [7]
Для того чтобы сохранять позицию курсора совсем не нужно запоминать RecNo. Это ошибочный путь.
Правильнее будет или использовать TBookMark или позиционироваться с помощью Locate, но для этого нужно иметь уникальное поле (набор полей)
напр.
var
OldId: integer;
begin
OldId:=DataSet.FieldByName("ID").AsInteger;
..... //Действия над набором данных
DataSet.Locate("ID",OldId,[]);
end;
или так:
var
B: TBookMark
begin
B:=DataSet.GetBookMark;
..... //Действия над набором данных
DataSet.GotoBookMark(B);
DataSet.FreeBookMark(B);
end;
← →
sniknik (2003-11-28 17:26) [16]Goida © (28.11.03 17:16) [9]
я тебе про ADO уже говорил?
http://www.delphimaster.ru/cgi-bin/download.pl?look=1&id=1069281940&n=1
зайди сюда, скачай тулзу которая в exe-шнике лежит, сделай в ней запрос к своему MsSQL и посмотри как грид себя ведет. устраивает?
← →
Inkotex (2003-11-28 17:28) [17]This example uses a button to copy the value of a field in the previous record into the corresponding field in the current record.
procedure TForm1.CopyDataClick(Sender: TObject);
var
SavePlace: TBookmark;
PrevValue: Variant;
begin
with MyData do
begin
{ get a bookmark so that we can return to the same record }
SavePlace := GetBookmark;
try
{ move to prior record}
FindPrior;
{ get the value }
PrevValue := Fields[0].Value;
{Move back to the bookmark
this may not be the next record anymore
if something else is changing the dataset asynchronously }
GotoBookmark(SavePlace);
{ Set the value }
Fields[0].Value := PrevValue;
{ Free the bookmark }
finally
FreeBookmark(SavePlace);
end;
end;
end;
To ensure that the button is disabled when there is no previous record, the OnDataChange event of the DataSource detects when the user moves to the beginning of file (BOF property becomes true), and disables the button.
procedure TForm1.MyDataDataChange(Sender: TObject; Field: TField);
begin
if MyData.Bof then
CopyData.Enabled := False
else
CopyData.Enabled := True;
end;
← →
Goida (2003-11-28 17:39) [18]> sniknik
Я с ADO еще не разу не сталкивался. Конечно, он лучше, раз все его используют. Но я хотел бы сначала узнать ЧЕМ он лучше.
← →
sniknik (2003-11-28 17:55) [19]я не говорил что он лутше, и только не изза того что все его используют (я с ним начинал давно, никто(! :о), вру конечно) не использовал, и статей каких на королевстве счас валом не было вообще, помню когда первая появилась жалел что не было раньше). это не показатель.
просто знаю что там можно такого добится без особых усилий (это параметры по умолчанию). показатель то, что, тебе это нужно, в этих компонентах это есть. чего еще?
← →
ksan (2003-11-28 19:52) [20]А по моему, ADO - это гиблое дело потому, что там ничего не видно. Вот например про IBExpress все известно и все контролируемо. А ADO не "упровляемый".
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.12.23;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.009 c