Query查询的简单问题,急!急!急!在线等待

PrettyMurphy 2003-10-16 04:53:24
各位高手看下这段代码有什么问题?

with aQuery do
begin
Close;
SQL.Clear;
SQL.Add('Select * From SelectObj Where RoomID=:A');
Params.ParamByName('A').AsString:=aBFID;
ExecSQL;
end;

aBFID为一个String变量,值为:'001',有一个好惨的事。如果这样:

SQL.Add('Select * From SelectObj Where RoomID="'+aBFID+'"');

运行到这一行时会报,"参数不足,期待是1" 这个错。
而如果用上面说的那种方法,却查不到指定的结果。怎么办?这是什么问题?

不是ADO是BDE的QUERY,我用的是DELPHI7+ACCESS 2000 请高手帮忙,谢谢!
...全文
87 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
angle097113 2003-10-16
  • 打赏
  • 举报
回复
aquery.sql.add('select * from selectobj where roomid='+#39|+abfid+#39)
Alanwn 2003-10-16
  • 打赏
  • 举报
回复
open
dickeybird888 2003-10-16
  • 打赏
  • 举报
回复
你的参数的写法是没有错误的,而另一种有错误
aquery.sql.add('select * from selectobj where roomid='''+abfid+'''')
不要用双引号,而要用两个单引号,至于你用参数的方法查询不出来数据,估计你查错了,
或者查询条件写错了
而且提醒你select 要用open;而其他比如insert,update,delete的时候是用execsql
qingke21 2003-10-16
  • 打赏
  • 举报
回复
aBFID:=

with aQuery do
begin
Close;
SQL.Clear;
SQL.Add('Select * From SelectObj Where RoomID=:A');
ParamByName('A').AsString:=aBFID;
IF Not Prapared then Prepare;
Open;
end;
dancedog 2003-10-16
  • 打赏
  • 举报
回复
按楼上的方法试试。
kevinwzh 2003-10-16
  • 打赏
  • 举报
回复
Where RoomID='+''''+aBFID+'''');
delphi_xizhousheng 2003-10-16
  • 打赏
  • 举报
回复
在窗体设计器中打开aQuery的Parameters属性,清空所有设计期加的参数
PrettyMurphy 2003-10-16
  • 打赏
  • 举报
回复
哦,试了一下,BDE的可以。

ADOQUERY不行。

我知道open和execsql的区别的,上面是我COPY错了
jace2003 2003-10-16
  • 打赏
  • 举报
回复
进行update,insert,delete等操作才用execsql,select操作用open;
说好不能打脸 2003-10-16
  • 打赏
  • 举报
回复
with aQuery do
begin
Close;
SQL.Clear;
SQL.Add(format('Select * From SelectObj Where RoomID=%s',[dataasstring]));
Open;
end;
tiexinliu 2003-10-16
  • 打赏
  • 举报
回复
1. 如果要返回数据集用open,反之用execsql
  • 打赏
  • 举报
回复
除了楼上的说法外还有:
SQL.Add('Select * From SelectObj Where RoomID="'+aBFID+'"');
改成:
SQL.Add('Select * From SelectObj Where RoomID='+''''+aBFID+'''');
PrettyMurphy 2003-10-16
  • 打赏
  • 举报
回复
上面写错了,不是ExecSQL, 是 Open
PowerBI系列之Power Query专题1.  获取数据 数据源种类介绍和获取Excel数据源输入数据和拷贝数据:创建辅助表解析Json/XML数据格式获取Web网页数据和URL添加动态参数连接数据的四种模式:Import、DirectQuery、Live Connection、Dual双 属于混合模式连接数据库:Sql server、 Mysql(直连但是必须先安装一个mysql插件)DirectQuery直连查询:Sql serverODBC方式获取数据表关联或多个Sql或调用存储过程获取数据SQL中动态传参和自定义函数: sql中使用参数或数据库名称使用参数连接Sharepoint和OneDrive数据源连接Dataset和Dataflow 替换本地数据源为Sharepoint数据源并保留数据处理操作 终止当前数据刷新Loading:Cancel Query数据源设置-重置数据连接凭证PBIDS连接数据源创建和使用报表模块(输入或值列表)利用报表模板和参数控制线下报表数据权限DirectQuery启用自动页面刷新和更改检测管理聚合表提高DirectQuery查询性能动态M查询参数提高DirectQuery查询性能添加数据刷新时间 DateTime.LocalNow()和Getdate()2.  数据清洗和M语言M语言和官方文档介绍PowerQuery中查阅M函数:=#shared, Ctrl+Space提示数据清洗之常用技能:提升标题、更改数据类型、保留删除错误或空行,删除重复项、选择列和删除列、填充单元格、合并列、拆分、提取、替换、条件替换、添加自定义列,添加条件列、添加索引列、分组、添加年月日列、追加和合并查询透视和逆透视以及转置合并单元格的Excel文件处理导入文件夹中多Excel文件并合并解决多文件合并中列顺序不一致使用参数和函数批量导入文件 文本中提取中文、英文、数字等处理双引号转义 列拆分详解解决列名改变错误解决列丢失错误动态显示、排序和重命名列为所有列名添加前缀列名字母大写和分隔符调整Trim标题列中的多余空格如何处理load数据错误为什么load的Excel数据有null空行为什么load的Excel数据标题在第二行灵活添加占位符规范同类相似数据数据按多列排序为分组添加Index序号分组内值合并诊断工具分析数据处理过程PowerQuery小技巧分享 新冠病例活动轨迹地图标识 

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧