- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个连接到 TDataSetProvider 的 TClientDataSet,而 TDataSetProvider 又连接到 TAdsQuery。我设置 SQL 命令,然后打开 ClientDataset,如下所示:
try
CDS.CommandText := 'SELECT * FROM tablename WHERE fieldname = 1';
CDS.Open
except
// trap exception here - this never gets executed!
end;
但是,如果 CommandText 中的 SQL 语句失败(语法错误或其他错误),我会在 Advantage 代码中收到异常,但它永远不会被我自己的异常处理代码捕获。
有什么方法可以让我捕获此错误并将其很好地报告给用户。或者有没有办法在执行 SQL 查询之前验证其语法?
我正在使用 Delphi Pro 2009 和 Advantage Local Server 9。
最佳答案
优势包括EADSDatabaseError这将提供有关引发的异常的更多信息。
try
CDS.CommandText := 'SELECT * FROM tablename WHERE fieldname = 1';
CDS.Open
except
on E: EDatabaseError do
begin
if ( E is EADSDatabaseError ) then
begin
ErrorString := (E as EADSDatabaseError).SQLErrorCode + E.Message;
application.messagebox ( pchar(ErrorString), 'Advantage Database Error', 0 )
end
else
application.messagebox (pchar(E.message), 'Native Database Error', 0 );
end;
end;
您可以在执行 SQL 语句之前检查其语法,方法是使用 VerifySQL TAdsQuery 组件的方法。如果 SQL 语法不正确,这将引发 EADSDatabaseError 异常。
关于delphi - 捕获 TClientDataSet.CommandText 中的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2824179/
只有在我将工作代码更改为使用数据 View 而不是文本框来显示单行数据之后,我才遇到这个问题。 我有以下内容: static SqlConnection dbConnection = new SqlC
VB.NET,带有 MySQL 的 Winforms 应用程序。由于资金和连接可靠性的限制,在我的应用程序中,我添加了通过使用邮件附件进行更新的功能。一切都运转良好。在应用程序表单加载中,即使我让它检
我想知道我可以给 CommandText 字段的文本长度是否有一些限制? 我正在使用 MySqlConnection 和 MySqlCommand。 最佳答案 检查此链接 Mysql Dataprov
在 .NET 中以编程方式替换参数值后,是否有办法获取 CommandText? 假设我们有一个命令: let cmd = conn.CreateCommand() cmd.CommandText <
此代码之前运行良好。然而,我需要事务化我的读写,当我试图通过事务化我的读取来开始该过程时,我遇到了这个 commandText 未初始化的错误。 确切错误,第 156 行是 DA.Fill(tbl);
我正在尝试构建一个 SQL 查询并将一个字符串作为参数传递。但是,我遇到了不正确的语法错误。我已经打印出这些值,但对我来说一切都很好。 我有一个字符串“sqlString”,它是通过一系列连接构建的,
Reader 总是null,我不知道为什么。 在使用一种方法连接之前,一切正常。 代码: private MySqlConnection connection; private MySqlComman
我在我的项目中使用网格,这些网格是通过 DataSet 填充的s 和 DataTable秒。我用 DataNavigator关于 grid s 用于插入、删除和更新行,我想将更改提交给 databas
我向自己保证我不会发布这个,因为我有一种妄想的想法,认为我太适合程序员了,但我们到了。 我已经更改了上周早些时候发布的内容,试图弄清楚如何编写一个 VBA 函数,该函数将数据从 Excel 范围写入
我对将 SQL 合并到 VBA 中相当缺乏经验,但是对于我的下一个技巧,我想根据自己的喜好排列表中的列。 Sub ExecuteQuery1() Dim SQLstr As String SQLstr
现在我正在编写板球计分软件,所有详细信息都保存在数据库中。我想知道如何在单击“Wicket”时向数据库中的“W”字段添加 +1。 cmd.CommandText = "UPDATE database.
我有一个连接到 TDataSetProvider 的 TClientDataSet,而 TDataSetProvider 又连接到 TAdsQuery。我设置 SQL 命令,然后打开 ClientDa
我为 System.Data.Common.DbProviderServices 类创建了一个包装器。我需要在此包装器中编辑 DbCommand.CommandText。如何在 CreateDbCom
标题有点粗俗,我会尽力解释得更好。因此,在我的应用程序中,我有两个连接字符串,一个用于本地数据库,另一个用于 Web 数据库。这两个数据库必须使用相同的记录进行更新。现在,在我的应用程序中,当我在本地
我想在 C# 中基于 OracleSQL 创建简单的登录 + 注册表单。我正在使用 Oracle 的 ManagedDataAccess 客户端(来自 NuGet)。 我试过这样使用它: Oracle
我正在尝试使用代码向数据库中插入一行,然后在单击按钮后立即显示该代码。我正在使用 C#。 comm.CommandText = "INSERT INTO Store (FirstName, LastN
procedure TForm1.Button1Click(Sender: TObject); begin ADOQuery1.close; ADOQuery1.SQL.text:
我是sql和C#的新手,并且im在executenonquery commandtex中出错。我不知道错误在哪里。你们可以帮我吗? private void submitBtn_Click(objec
昏暗的SQL作为字符串 sql = "insert into transactions (`transid`) values('" + Text1.Text + "')" sql = sql & ";
是否可以从纯命令文本解析 sql 参数? 例如 //cmdtext = SELECT * FROM AdWorks.Countries WHERE id = @id SqlCommand sqlc =
我是一名优秀的程序员,十分优秀!