我是一个菜鸟,问的问题可能很幼稚,但却难为了我好几天。
我想使用ADO、ODBC连接数据库,按书上的例子做了N遍,都不成功都有三行英文提示。认不得什么意思。有哪位高手可以帮助我解决呀,小生不甚感激,另有大分相送。或者告诉我如何连接的方法,最好详细些(菜,只有PASCAL的基础)。
我现在开始置疑我买的那本书了,前面有两个例子就调不出来,没有结果。

解决方案 »

  1.   

    我不喜欢ado的,我习惯用bde的,参考一下csdn里面的一些例子吧,我个人觉得比书好,很实用
      

  2.   

    我的个人习惯,放上一个ADOQuery,直接用下面语句即可:(d5+acess2000)  ADOQuery1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+GetCurrentDir()+'\数据库名.mdb;Persist Security Info=False';
      

  3.   

    用ADO好,打包也方便,速度也快啊
      

  4.   

    接上面显示各个域的域名}strTemp := '';for intIndex := 0 to ARecordSet.Fields.count - 1 dostrTemp := strTemp + ARecordSet.Fields[intIndex].name+';';memo1.lines.add( strTemp );{显示各个域的内容}while not ARecordSet.eof dobeginstrTemp := '';for intIndex := 0 to ARecordSet.Fields.count - 1 dostrTemp := strTemp + ARecordSet.Fields[intIndex].value+';';memo1.lines.add( strTemp );ARecordSet.MoveNext;//移到下条,Nextend;{增加一个记录}ARecordSet.AddNew;//增加,AppendARecordSet.Fields['AName'] := '1';//以FieldByName的方式存取ARecordSet.Fields['Portable'] := '2';ARecordSet.Fields(2) := '3';//以Fields[index]的方式存取ARecordSet.Fields(3) := '4';ARecordSet.Fields(4) := '5';ARecordSet.Update;//更新,PostARecordSet.MoveFirst;//移到首条,Firstmemo1.lines.add('********增加了一条记录后的数据表的内容如下********');{显示各个域的内容}while not ARecordSet.eof dobeginstrTemp := '';for intIndex := 0 to ARecordSet.Fields.count - 1 dostrTemp := strTemp +ARecordSet.Fields[intIndex].value+';';memo1.lines.add( strTemp );ARecordSet.MoveNext;//移到下条,Nextend;{修改最后一条记录}ARecordSet.MoveLast;ARecordSet.Fields['AName'] := '11';//以FieldByName的方式存取ARecordSet.Fields['Portable'] := '22';ARecordSet.Fields(2) := '33';//以Fields[index]的方式存取ARecordSet.Fields(3) := '44';ARecordSet.Fields(4) := '55';ARecordSet.Update;//更新,PostARecordSet.MoveFirst;//移到首条,Firstmemo1.lines.add('********修改了最后一条记录后的数据表的内容如下********');{显示各个域的内容}while not ARecordSet.eof dobeginstrTemp := '';for intIndex := 0 toARecordSet.Fields.count - 1 dostrTemp := strTemp +ARecordSet.Fields[intIndex].value+';';memo1.lines.add( strTemp );ARecordSet.MoveNext;//移到下条,Nextend;{删除最后一条记录}ARecordSet.MoveLast;//移到末条,LastARecordSet.delete;//删除,deleteARecordSet.Update;//更新,在Delphi不需要ARecordSet.MoveFirst;//移到首条,Firstmemo1.lines.add('********删除了最后一条记录后的数据表的内容如下********');{显示各个域的内容}while not ARecordSet.eof dobeginstrTemp := '';for intIndex := 0 to ARecordSet.Fields.count - 1 dostrTemp := strTemp + ARecordSet.Fields[intIndex].value+';';memo1.lines.add( strTemp );ARecordSet.MoveNext;//移到下条,Nextend;ARecordSet.Close;{关闭数据集}{用SQL语句进行查询,查询姓名为“张三”的记录}{注意,在SQL语句中,字符串应该用单引号包括起来}ARecordSet.open( 'select * from wfjcommuwhere AName = ''张三''',AConnection,adOpenStatic,adLockOptimistic,adCmdText );memo1.lines.add('********张三的内容如下********');memo1.lines.add( '共有' + IntToStr( ARecordSet.RecordCount ) + '条匹配的记录' );{显示各个域的内容}while not ARecordSet.eof dobeginstrTemp := '';for intIndex := 0 to ARecordSet.Fields.count - 1 dostrTemp := strTemp + ARecordSet.Fields[intIndex].value+';';memo1.lines.add( strTemp );ARecordSet.MoveNext;//移到下条,Nextend;{关闭数据集和数据库连接}ARecordSet.close;AConnection.close;end; ---- 以上程序在PWIN98+DELPHI3.0+PWS(Personal Web Server)4.0下调试通过.---- 关于ADO对象的详细资料,请参见ASP帮助文件或Interdev帮助文件或OFFICE2000的有关文档