Re[3]: ADO и C++ Builder - устал...
От: saruman  
Дата: 05.06.02 11:54
Оценка:
Здравствуйте Будуев Игорь , Вы писали:

БИ>Две проблемы — у меня нет 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;
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.