access 问题 找用友财务管理软件
2、用ADOQUERY的查询怎么得到结果。比如SUM(CS1)的结果。
2楼: 1.1
drop table [CS]
1.2
CREATE TABLE [CS] (
[EmployeeID] [int] IDENTITY (1, 1) NOT NULL ,
[LastName] [nvarchar] (20) NOT NULL ,
[FirstName] [nvarchar] (10) NOT NULL
)
2.1
SQL 检索语句
select Sum(CS1) as SumCS1 from CS
程序中这样读取数据
ADOQUERY.FindField(''SumCS1'').AsFloat 如家庭财务管理软件
3楼: drop table [CS] 是删除没有错误拉
那查询呢?
4楼: 那怎么判断表是否存在呢?
5楼: 什么查询?
6楼: 楼主想问的是不是说 ACCESS里有无 sysobjects 这样的一种系统表对吧?
if exists (select * from dbo.sysobjects where id = object_id(N''[dbo].[bos_rptT]'') and OBJECTPROPERTY(id, N''IsUserTable'') = 1)
drop table [dbo].[bos_rptT]
仓库管理软件版7楼: 有问题你的代码
8楼: 那怎么判断表是否存在呢?
9楼: ADOQuery.SQL.Clear;
ADOQuery.SQL.Add(''Create Table TableName'');
Try
ADOQuery.ExecSQL;
Except
On E:EOLEException Do
ShowMessage(''此表已存在!'')
End;
10楼: 有错误啊
Undeclared identifier:''EOLEEXCEPTION''
11楼: 基本思路:adoConnection设置联接到指定数据库,然后用GetTableNames方法获取表名字符串列表,检测列表中是否存在目标表名,最后删除.
function tbExists(s:String):Boolean;
var sl:TStringList;
begin
sl:=TstringList.create;
adoConnection.GetTableNames(sl);
if s.indexof(s)>-1 then
Result:=True
else
Result:=False;
end;
12楼: 我看不明白
555555555 如用友财务管理软件
13楼: 你的是DELPHI6.0版吧?那就把EOLEException换 成EDBEngineError,或者什么都不要:
ADOQuery.SQL.Clear;
ADOQuery.SQL.Add(''Create Table TableName'');
Try
ADOQuery.ExecSQL;
Except
ShowMessage(''此表已存在!'')
End;
仓库管理软件版14楼: 对于ACCESS,直接使用,这个是你的例子,你改改就可以了。
function TDM.FindTableExists(vid: string): Boolean;
var
CaseTable,ContentTable,SpotTable:String;
AList:TStringList;
begin
CaseTable:=''Case''+vid;
ContentTable:=''Content''+vid;
SpotTable:=''Spot''+vid;
AList:=TStringList.Create;
AdoBase.GetTableNames(AList);
Result:=False;
if (AList.IndexOf(CaseTable)>=0) and (AList.IndexOf(ContentTable)>=0) and
(AList.IndexOf(SpotTable)>=0) then
Result:=True;
end;
对于SQL SERVER,
查询系统表,看有无这个对象
select * from dbo.sysobjects
where type=''''u'''' and name=??你的表名称。
15楼: 那就把EOLEException换 成EDBEngineError:
换了还是报错。 不写会弹出错误对话框。