有关在ACCESS数据库使用SQL的问题(50分)

  • 主题发起人 主题发起人 jazzjerry
  • 开始时间 开始时间
J

jazzjerry

Unregistered / Unconfirmed
GUEST, unregistred user!
1。 如何在ACCESS数据库中用SQL判断一张表的存在?
2。 如何用SQL语句在ACCESS中选择一张表的指定行,如第五行?
 
答1:
function P_opentable(B_tableName:String):boolean;
try
TAdoDataSet1.close;
TAdoDataSet1.CommandText:='select * from '+B_tableName;
TAdoDataset1.open;
result:=true;
except
result:=false;
end;
这段代码调试时会有出错提示,但直接执行可执行文件时是不会出错的。
 
http://www.delphibbs.com/delphibbs/dispq.asp?lid=807074
 
1、问题解决方法很多:
连接Access最好用Ado技术。
tAdoconnect,tadodataset等控件非常好用。
我这里写一写标准代码,
你去参考吧:
连接:
with ADOConnection1 do
begin
Connected:=false;
ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;'+
'User ID=Admin;Data Source='+ExtractFilePath(Application.ExeName)+'clMarket.mdb;'+
'Mode=Share Deny None;Extended Properties="";'+
'Jet OLEDB:System database="";Jet OLEDB:Registry Path="";'+
'Jet OLEDB:Database Password="";Jet OLEDB:Engine Type=5;'+
'Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;'+
'Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";'+
'Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;'+
'Jet OLEDB:Don'+''''+'t Copy Locale on Compact=False;'+
'Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False';
Connected:=True;
end;

取数据:
with adodataset1 do
begin
Close;
Commandtext:='select * from a where id =:xx';
Paramters.parambyname('xx').asstring:=Youvharchar;
Open;
end;

你去参考有关ado方面的书,比较容易学会的。

 
先用adoconnection1.GetTableNames看看表是否存在
 
后退
顶部