版本是Delphi6,连接数据库ORACLE,使用ADOConnection,ADOQuery
情况是这样的,我写的一个小软件中有个MEMO控件是供用户输入SQL语句的,输入的SQL语句直接提交到ADOQuery控件的SQL中然后提交
在测试的时候,我写了一条短语句,加不加分号都是可以的,比如
select * from hr_rpt; --hr_rpt是一张表
可是,当我从一个记事本中摘了一段SQL语句贴到MEMO上点提交的时候,错误出现了
ORA提示,无效字符,怎么会?
在TOAD里测试了一下记事本中的SQL语句,正确。在Delphi里单步调,ctrl+F5跟踪memo.lines.text,发现多了很多'#$D#$A'和'#$D#$A#9',查了一下是制表符之类的,于是写了两条语句过滤掉这些东西
strTmp := mmoSqlInput.Lines.Text;
strTmp := StringReplace(strTmp,#13#10,' ',[rfReplaceAll]);
strTmp := StringReplace(strTmp,#9,'',[rfReplaceAll]);
再跟,这回SQL看起来对了,再运行,还是无效字符,搞什么?
将watch window里进过过滤的strTmp语句拿出来(Ctrl+I调出Inspector,取值)放到TOAD里运行,对的啊,怎么回事?
在memo上粘贴了出问题的SQL语句后,去掉最后的分号,这回执行通过了,返回结果,分号的问题吗?SQL语句长一点,复杂一点,就不能加分号了?
很郁闷的问题啊!怎么回事。
我现在的解决方法是再加一条StringReplace语句
strTmp := StringReplace(strTmp,';','',[rfReplaceAll]);
希望能找到原因,是不是Delphi ADOQuery控件的问题
分享到:
相关推荐
在使用Delphi编程时,ADOQuery是访问数据库的重要组件,它允许开发者执行SQL查询并处理结果。本篇文章将深入探讨如何使用Delphi的ADOQuery组件进行数据库的查询、插入、删除和修改操作。 首先,我们需要了解...
在 Delphi 开发中,理解 ADOQuery 组件的工作原理以及如何正确使用其方法和属性,对于高效地操作数据库至关重要。通过熟练掌握这些知识点,开发者可以方便地处理各种数据库操作,提高开发效率。
Delphi的TNT系列控件,可录入并显示显示生僻字。 下载链接:https://pan.baidu.com/s/152GP1bVxijo4e2frqVljRg 密码:uwxn 超简单安装delphi tnt控件? 双击跟你D版本一致的.dpk文件,出现一个窗口,点install即可,再...
### Delphi连接数据库:代码与控件选择详解 在Delphi开发环境中,连接数据库并进行数据操作是一项常见的任务。本文将详细介绍如何使用Delphi通过ADO(ActiveX Data Objects)技术来实现与数据库的有效连接,并展示...
而ADO控件中的关键字,如`adoconnection`(连接)、`adostoredproc`(存储过程控件)、`adoquery`(查询控件)等,均在Delphi中扮演着关键角色,用于指定控件类型和执行相应的数据库操作。 以上内容详细阐述了...
在Delphi中实现数据库连接与登录功能涉及到对多种控件的理解和使用,下面将详细介绍如何通过Delphi连接数据库以及编写登录界面的相关代码。 ### Delphi连接数据库的基本步骤 #### 1. 添加数据库连接组件...
Delphi内存表使用(TdxMemData,TVirtualTable,TFDMemTable)例子.演示在Delphi上使用内存表存储数据的例子。TdxMemData 属于DevExpressVcl控件,TVirtualTable属于UniDAC控件,TFDMemTable属于FireDAC控件。经过测试...
总之,"Delphi控件(二次查询控件)"是Delphi开发中的一个重要工具,结合ADOQuery和XQuery,能够帮助开发者高效地处理大量数据,实现复杂的业务逻辑,优化应用程序的性能。对于需要频繁进行数据分析的项目,这是一个...
在Delphi中,常用的ADO控件有ADOTable、ADOQuery、ADODataset等,它们使得我们能够方便地在界面上显示数据、执行查询和事务处理。 接下来,我们将重点讲解如何连接DBF文件。在Delphi中,我们通常使用TADOConnection...
为了解决这个问题,我们可以使用 DBGridEh 控件来快速导出数据到 Excel 中。 使用 DBGridEh 控件可以快速导出大量数据到 Excel 中,而不需要使用 OLE 自动化来一个一个地将数据写入到 Excel 中。 DBGridEh 控件提供...
Delphi进度条(多线程),美观不卡界面,简单开启,定位,结束: 包目录(MyProgress): MyProgress.dcu //最终引用 MyProgressPackage.bpl //安装包 MyProgressPackage.bpi MyProgressPackage.dcp MyProgressPackage....
要开始在 Delphi 中使用 ADO,首先需要确保已经安装了 ADO 组件,这通常包括 MSADO15.DLL 文件,它包含了所有必要的接口和常量。在 Delphi 中,可以通过“Project”菜单中的“Import TypeLibrary”选项,导入这个 ...
2.代码有注释,原代码用的是SQL Sever自带的master数据库,用ADOQuery控件链接数据库,拿到代码修改一下数据库就可以使用 3.EXECL中的各种属性也有如:字体大小、字体颜色、背景颜色、边框、合并单元格、居中、数据...
在Delphi中使用ADO连接数据库主要包括以下几个步骤: 1. **添加ADO组件**:首先需要在Delphi的设计面板中添加`ADOConnection`组件。 2. **配置连接字符串**:通过设置`ADOConnection`的`ConnectionString`属性来...
在Delphi中,通常使用ADO(ActiveX Data Objects)或DBExpress组件来连接和操作数据库。开发者可能会使用`TADOQuery`或`TSQLQuery`组件,通过编写SQL查询语句来获取数据。例如,查询所有未结账的订单: ```delphi ...
### Delphi资源—Filter中的模糊过滤 #### 一、模糊过滤概述 在Delphi开发环境中,数据查询与筛选是一项常见的需求。为了满足不同场景下的数据处理需求,Delphi提供了多种方式来实现数据过滤,其中模糊过滤是较为...
在 Delphi 中使用 DBChart 组件需要进行数据库绑定,设置图表类型,设置分页,导出图表,打印图表等操作。下面是对这些操作的详细介绍。 一、属性相关 在 DBChart 组件中,Series 选项卡是用来设置图表的风格和...
2.代码有注释,原代码用的是SQL Sever自带的master数据库,用ADOQuery控件链接数据库,拿到代码修改一下数据库就可以使用 3.EXECL中的各种属性也有如:复选框、字体大小、字体颜色、背景颜色、边框、合并单元格、...
### Delphi中Web Service应用初探 #### 一、引言 随着互联网技术的迅猛发展,Web服务(Web Service)已成为企业间信息交流、共享与协作的重要方式之一。Web服务技术能够有效地解决不同技术平台之间的集成问题,...
通过以上步骤,我们可以实现在Delphi中使用ADO组件连接数据库,并通过DBGrid控件展示查询结果。正确配置各组件的属性,编写适当的事件处理代码,即可实现数据的高效管理和展示,满足各种应用场景的需求。在实际项目...