Здравствуйте Будуев Игорь , Вы писали:
БИ>Две проблемы — у меня нет TCustomADODataSet вторая — помогите понять как вообще создать компонент для доступа к БД но не через BDE, может быть мне и ADO то не нужно?
БИ>А если через ADO то вообще как это сделать, если можно прямо по шагам.
БИ>Буду чрезвычайно благодарен!
Вообще правильно 0 берешь билдер 6 версии и не паришь мозг. А если хочешь попарить, вот тебе пример как работать с ДО без компонент и БДЕ (кусок из моего теста, думаю разберешься):
(Форм1=ТФорм.. тра-та-та...)
var
Form1: TForm1;
Connect1,R,SQL:variant;
CurPage:integer;
implementation
{$R *.DFM}
uses ComObj;
procedure TForm1.Button1Click(Sender: TObject);
begin
Screen.Cursor:=crHourglass;
Connect1:=CreateOleObject('ADODB.Connection');
Connect1.Open('Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog='+EditDatabaseName.text+';Data Source='+EditServername.text);
SQL:='SELECT * from '+EditTableName.text;
R:=CreateOleObject('ADODB.Recordset');
R.PageSize := 5;
R.Open(SQL, Connect1,1);
CurPage:=1;
R.AbsolutePage := CurPage;
ShowRecords;
Screen.Cursor:=crDefault;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
CurPage:=CurPage+1;
R.AbsolutePage:=CurPage;
ShowRecords;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
CurPage:=CurPage-1;
R.AbsolutePage:=CurPage;
ShowRecords;
end;
procedure TForm1.ShowRecords;
var I:integer;
begin
ListBox1.Items.clear;
i:=1;
while ((not R.Eof) and (i<=R.PageSize)) do
// For i := 1 To R.PageSize do
begin
ListBox1.Items.Add(vartostr(R.Fields[1]));
R.MoveNext;
inc(i);
end;
end;