`

Delphi中ADOQuery控件的使用问题

阅读更多
    版本是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连接数据库的查询、插入、删除、修改

    在使用Delphi编程时,ADOQuery是访问数据库的重要组件,它允许开发者执行SQL查询并处理结果。本篇文章将深入探讨如何使用Delphi的ADOQuery组件进行数据库的查询、插入、删除和修改操作。 首先,我们需要了解...

    ADOQuery连接数据库的查询、插入、删除、修改

    在 Delphi 开发中,理解 ADOQuery 组件的工作原理以及如何正确使用其方法和属性,对于高效地操作数据库至关重要。通过熟练掌握这些知识点,开发者可以方便地处理各种数据库操作,提高开发效率。

    Delphi的TNT系列控件,可录入并显示显示生僻字

    Delphi的TNT系列控件,可录入并显示显示生僻字。 下载链接:https://pan.baidu.com/s/152GP1bVxijo4e2frqVljRg 密码:uwxn 超简单安装delphi tnt控件? 双击跟你D版本一致的.dpk文件,出现一个窗口,点install即可,再...

    delphi 连接数据库 delphi信息部分代码及控件选择

    ### Delphi连接数据库:代码与控件选择详解 在Delphi开发环境中,连接数据库并进行数据操作是一项常见的任务。本文将详细介绍如何使用Delphi通过ADO(ActiveX Data Objects)技术来实现与数据库的有效连接,并展示...

    Delphi中Ado控件SQL Server数据库开发.pdf

    而ADO控件中的关键字,如`adoconnection`(连接)、`adostoredproc`(存储过程控件)、`adoquery`(查询控件)等,均在Delphi中扮演着关键角色,用于指定控件类型和执行相应的数据库操作。 以上内容详细阐述了...

    delphi连接数据库 各控件选择及登录代码

    在Delphi中实现数据库连接与登录功能涉及到对多种控件的理解和使用,下面将详细介绍如何通过Delphi连接数据库以及编写登录界面的相关代码。 ### Delphi连接数据库的基本步骤 #### 1. 添加数据库连接组件...

    Delphi内存表使用(TdxMemData,TVirtualTable,TFDMemTable)例子.

    Delphi内存表使用(TdxMemData,TVirtualTable,TFDMemTable)例子.演示在Delphi上使用内存表存储数据的例子。TdxMemData 属于DevExpressVcl控件,TVirtualTable属于UniDAC控件,TFDMemTable属于FireDAC控件。经过测试...

    Delphi控件(二次查询控件)

    总之,"Delphi控件(二次查询控件)"是Delphi开发中的一个重要工具,结合ADOQuery和XQuery,能够帮助开发者高效地处理大量数据,实现复杂的业务逻辑,优化应用程序的性能。对于需要频繁进行数据分析的项目,这是一个...

    利用ADO控件连接DBF数据表

    在Delphi中,常用的ADO控件有ADOTable、ADOQuery、ADODataset等,它们使得我们能够方便地在界面上显示数据、执行查询和事务处理。 接下来,我们将重点讲解如何连接DBF文件。在Delphi中,我们通常使用TADOConnection...

    delphi高效率导出数据到excel

    为了解决这个问题,我们可以使用 DBGridEh 控件来快速导出数据到 Excel 中。 使用 DBGridEh 控件可以快速导出大量数据到 Excel 中,而不需要使用 OLE 自动化来一个一个地将数据写入到 Excel 中。 DBGridEh 控件提供...

    Delphi进度条(多线程),美观不卡界面,简单开启,定位,结束

    Delphi进度条(多线程),美观不卡界面,简单开启,定位,结束: 包目录(MyProgress): MyProgress.dcu //最终引用 MyProgressPackage.bpl //安装包 MyProgressPackage.bpi MyProgressPackage.dcp MyProgressPackage....

    Delphi导出EXECL EXECL属性 导出EXECL

    2.代码有注释,原代码用的是SQL Sever自带的master数据库,用ADOQuery控件链接数据库,拿到代码修改一下数据库就可以使用 3.EXECL中的各种属性也有如:字体大小、字体颜色、背景颜色、边框、合并单元格、居中、数据...

    delphi 连接数据库 delphi查询部分代码及控件选择

    在Delphi中使用ADO连接数据库主要包括以下几个步骤: 1. **添加ADO组件**:首先需要在Delphi的设计面板中添加`ADOConnection`组件。 2. **配置连接字符串**:通过设置`ADOConnection`的`ConnectionString`属性来...

    delphi一段餐饮代码示例

    在Delphi中,通常使用ADO(ActiveX Data Objects)或DBExpress组件来连接和操作数据库。开发者可能会使用`TADOQuery`或`TSQLQuery`组件,通过编写SQL查询语句来获取数据。例如,查询所有未结账的订单: ```delphi ...

    Delphi中DBChart的数据库应用

    在 Delphi 中使用 DBChart 组件需要进行数据库绑定,设置图表类型,设置分页,导出图表,打印图表等操作。下面是对这些操作的详细介绍。 一、属性相关 在 DBChart 组件中,Series 选项卡是用来设置图表的风格和...

    Delphi导出EXECL

    2.代码有注释,原代码用的是SQL Sever自带的master数据库,用ADOQuery控件链接数据库,拿到代码修改一下数据库就可以使用 3.EXECL中的各种属性也有如:复选框、字体大小、字体颜色、背景颜色、边框、合并单元格、...

    Delphi中Web Service应用

    ### Delphi中Web Service应用初探 #### 一、引言 随着互联网技术的迅猛发展,Web服务(Web Service)已成为企业间信息交流、共享与协作的重要方式之一。Web服务技术能够有效地解决不同技术平台之间的集成问题,...

    delphi资源-Filter中的模糊过滤

    ### Delphi资源—Filter中的模糊过滤 #### 一、模糊过滤概述 在Delphi开发环境中,数据查询与筛选是一项常见的需求。为了满足不同场景下的数据处理需求,Delphi提供了多种方式来实现数据过滤,其中模糊过滤是较为...

    delphi 连接数据库 delphi信息输出部分代码及控件选择

    通过以上步骤,我们可以实现在Delphi中使用ADO组件连接数据库,并通过DBGrid控件展示查询结果。正确配置各组件的属性,编写适当的事件处理代码,即可实现数据的高效管理和展示,满足各种应用场景的需求。在实际项目...

    KbmMemTable 6.3

    运行安装后,组件会自动集成到Delphi的组件面板中,开发者可以直接拖放到表单上使用。通过查阅官方文档或在线教程,可以学习如何配置和调用其各种功能。 总结,KbmMemTable 6.3是一款强大的内存数据库组件,尤其...

Global site tag (gtag.js) - Google Analytics