★★★快来抢100分★★★:在delphi里,求购用ado操作数据库的详细源代码,供学习研究?
问题点数:100、回复次数:19Top
1 楼zzutlink(来溜达)回复于 2001-07-30 11:09:48 得分 20
你说的太简单了吧?说详细点,讲ADO都能出本书了!Top
2 楼newyj(吴刚vs西西弗)回复于 2001-07-30 11:11:06 得分 0
delphi的demo\ado下有很好的例子Top
3 楼zzutlink(来溜达)回复于 2001-07-30 11:14:17 得分 0
ADO其实很简单,也就是先建立连接,然后通过某种方法取得数据集,然后使用这个数据集就OK了Top
4 楼xagang(乱码)(原)回复于 2001-07-30 11:16:59 得分 0
你又偷懒了Top
5 楼deak()回复于 2001-07-30 11:25:38 得分 0
可不可以不用控件,直接申明ado对象,像vb里一样?
具体来讲就是用ado查询,修改,增加,删除数据的详细源代码。
Top
6 楼smallBridge(萧秋雨)回复于 2001-07-30 11:39:58 得分 80
//假设用TADOQUERY控件查询SQL SERVER数据库中某个表(表名假设为YoursTableName),将该
//表中的字段,——假设叫FieldName值全部查询出来并加到LISTBOX控件中。
procedure OperatorSQLServerWithADO;
var
myADOQuery:TADOQuery;
begin
myADOQuery := TADOQuery.Create(nil);
myADOQuery.ConnectionString := 'Provider=SQLOLEDB.1;Persist Security
Info=True;User ID=sa;Initial Catalog=Ex;Data
Source=SMALLBRIDGE';
try
with myADOQuery do begin
Close;
SQL.Text := 'SELECT * FROM YoursTableName';
Open;
if IsEmpty then begin Close; Exit; end;
ListBox1.Items.Clear;
while not Eof do begin
ListBox1.Items.Add(TRIM(FieldByName('FieldName').AsString)); //Fields
Next;
end;
Close;
end;
finally
myADOQuery.Free;
end;
end;
Top
7 楼smallBridge(萧秋雨)回复于 2001-07-30 11:49:36 得分 0
//add,edit,delete operator
...
with myADOQuery do begin
Close;
//假设Field1是字符型,Field2是整型
//Add Record
SQL.Text := 'INSERT INTO YoursTableName (Field1,Field2) VALUES('ABC',123)';
//Edit record
//SQL.Text := 'UPDATE YoursTableName Set Field1 = ''a'',Field2 = 345' +
// ' WHERE Field2 = 123';//conditions you need
//Delete record
//SQL.Text := 'DELETE FROM YoursTableName WHERE Field2 = 123';
Prepared;
ExecSQL;
Close;
ShowMessage('OK!');
end;
Top
8 楼sunshinerainbow(程序人生)回复于 2001-07-30 12:19:44 得分 0
ADO很好用啊,当然可以动态生成ADO的各种对象哦Top
9 楼hunyuan(混元灵通)回复于 2001-07-30 12:42:45 得分 0
李维的书中讲,不建议用原生ADO,代码量大,用ADO控件开发效率更高,呵呵,小弟说的对吗?
有用VCL控件的代码吗?除了上面的,有ADODateSet,ADOCommand的吗?Top
10 楼little_hero(天生我才必有用!)回复于 2001-07-30 12:59:49 得分 0
那如何使用存储过程呢?Top
11 楼ghz2000(编程马大哈)回复于 2001-07-30 13:13:23 得分 0
procedure OperatorSQLServerStoreProc;
var
ADOStoredProc1:TADOStoredProc;
begin
ADOStoredProc1:= TADOStoredProc.Create(nil);
ADOStoredProc1.ConnectionString := 'Provider=SQLOLEDB.1;Persist Security
Info=True;User ID=sa;Initial Catalog=Ex;Data
Source=SMALLBRIDGE';
try
ADOStoredProc1.ProcedureName:='databaseproc';
ADOStoredProc1.ExecProc;
finally
ADOStoredProc1.Free;
end;
end;
好像,这些只要你看看属性就会自己做出来的。Top
12 楼qiubolecn(来自差生市)回复于 2001-07-30 13:46:38 得分 0
对 little_hero
使用存储过程在adocommandtext中写入存储过程的名字,再在commandtype:=cmdStoredProc Top
13 楼deak()回复于 2001-07-30 15:02:07 得分 0
to smallBridge: thank you,可不可以不用TADOQUERY控件,直接申明TADOQUERY?Top
14 楼deak()回复于 2001-07-30 16:44:40 得分 0
I try,But not!Top
15 楼little_hero(天生我才必有用!)回复于 2001-07-30 17:46:02 得分 0
谢谢大侠!Top
16 楼deak()回复于 2001-07-31 08:28:43 得分 0
to smallBridge: 我用你那种方法后,为什么总是出现错误提示:
current provider does not support returning multiple recordsets from a single execution,
commandtext does not a return setTop
17 楼deak()回复于 2001-07-31 11:01:01 得分 0
修改数据时总是出现错误提示,why?Top
18 楼deak()回复于 2001-07-31 16:52:59 得分 0
addTop
19 楼willsound(威风)回复于 2001-07-31 16:55:24 得分 0
还是系统的吧Top




