如何将Delphi查询组件忽略错误设置成长尾词?

2026-04-10 17:172阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计431个文字,预计阅读时间需要2分钟。

如何将Delphi查询组件忽略错误设置成长尾词?

我有一个TADOQuery组件,它使用TADOConnection连接到SQL Server数据库。现在,当我将下面的SQL语句添加到组件中,并调用ExecSql时,它会引发异常,因为Create字中有拼写错误。错误的SQL如下:

exec ('creat1e table myTable')

我有一个TADOQuery组件,它使用TADOConnection连接到SQL Server数据库.
现在,当我将下面的SQL添加到组件中,并调用ExecSql时它会引发异常,因为“Create”字中有一个拼写错误.

exec ('creat1e table myTable ( col1 TPT_Dt not null , col2 TPT_FLOAT not null )');

但是同样的声明,如果我将它添加到另一个语句,那么TADOQuery组件会忽略此异常.例如. :

select * from SomeOtherTable where id = 10 exec ('creat1e table myTable ( col1 DtDataType not null , col2 FLOATDataType not null )');

能告诉我为什么Delphi在第二种情况下忽略了异常.

我的问题不在于select语句.即使我添加一个if条件然后同样的问题;

例如

if not exists (select * from dbo.sysobjects where id = object_id('TABLE1278') and type='U') begin exec ('crea11te table table1278 ( col1 TPT_Dt )'); end

德尔福只是忽略了错字.

提前致谢.

罗勒

返回从查询生成的所有记录集.第一个将默认显示,并显示相应的错误.
您可以通过ADODataSet1.NextRecordset(a)访问所有记录集.

如何将Delphi查询组件忽略错误设置成长尾词?

例如你有以下查询

select * from TableWhichExists Select * from TableWichNotExists

您将获取TableWhichExists的结果.

procedure TForm1.Button1Click(Sender: TObject); var rs:_RecordSet; a:Integer; begin rs := ADODataSet1.NextRecordset(a) end;

您可以访问下一个记录集并将收到相应的错误.

NextRecordset可能是有用的,例如通过程序接收几个记录集,一旦所有需要记录集计算.

使用例如三个收到的结果你可以像这样工作:

procedure TForm1.Button1Click(Sender: TObject); var a:Integer; begin Adodataset2.Recordset := ADODataSet1.NextRecordset(a) ; Adodataset3.Recordset := ADODataSet1.NextRecordset(a) end;

Adodataset1将显示第一个结果.

本文共计431个文字,预计阅读时间需要2分钟。

如何将Delphi查询组件忽略错误设置成长尾词?

我有一个TADOQuery组件,它使用TADOConnection连接到SQL Server数据库。现在,当我将下面的SQL语句添加到组件中,并调用ExecSql时,它会引发异常,因为Create字中有拼写错误。错误的SQL如下:

exec ('creat1e table myTable')

我有一个TADOQuery组件,它使用TADOConnection连接到SQL Server数据库.
现在,当我将下面的SQL添加到组件中,并调用ExecSql时它会引发异常,因为“Create”字中有一个拼写错误.

exec ('creat1e table myTable ( col1 TPT_Dt not null , col2 TPT_FLOAT not null )');

但是同样的声明,如果我将它添加到另一个语句,那么TADOQuery组件会忽略此异常.例如. :

select * from SomeOtherTable where id = 10 exec ('creat1e table myTable ( col1 DtDataType not null , col2 FLOATDataType not null )');

能告诉我为什么Delphi在第二种情况下忽略了异常.

我的问题不在于select语句.即使我添加一个if条件然后同样的问题;

例如

if not exists (select * from dbo.sysobjects where id = object_id('TABLE1278') and type='U') begin exec ('crea11te table table1278 ( col1 TPT_Dt )'); end

德尔福只是忽略了错字.

提前致谢.

罗勒

返回从查询生成的所有记录集.第一个将默认显示,并显示相应的错误.
您可以通过ADODataSet1.NextRecordset(a)访问所有记录集.

如何将Delphi查询组件忽略错误设置成长尾词?

例如你有以下查询

select * from TableWhichExists Select * from TableWichNotExists

您将获取TableWhichExists的结果.

procedure TForm1.Button1Click(Sender: TObject); var rs:_RecordSet; a:Integer; begin rs := ADODataSet1.NextRecordset(a) end;

您可以访问下一个记录集并将收到相应的错误.

NextRecordset可能是有用的,例如通过程序接收几个记录集,一旦所有需要记录集计算.

使用例如三个收到的结果你可以像这样工作:

procedure TForm1.Button1Click(Sender: TObject); var a:Integer; begin Adodataset2.Recordset := ADODataSet1.NextRecordset(a) ; Adodataset3.Recordset := ADODataSet1.NextRecordset(a) end;

Adodataset1将显示第一个结果.