delphi - 为什么类型名称_Recordset 中有下划线?
问题描述
我有查询数据库的代码,如下所示:
uses Data.DB, Data.Win.ADODB;
// ...
var
cmd: TAdoCommand;
r: _Recordset;
firstName: string;
begin
cmd := TAdoCommand.Create(nil);
try
cmd.ConnectionString := 'Server=dbServer;Database=master';
cmd.CommandText := 'select FirstName from customers where id=123';
r := cmd.Execute;
firstName := '';
if not r.EOF then firstName := r.Fields.Item['FirstName'].Value
finally
cmd.Free
end
// ...
end
这可行,但我想知道它是否不是理想的编写方式,因为_Recordset
类型开头的下划线。下划线似乎在告诉我,这种类型在某种程度上是“内部的”,不能在标准代码中使用。
有没有更标准的方法来编写这种代码?如果不是,为什么那里有下划线?
解决方案
如果将 Winapi.ADIOnt 添加到 use 子句,则可以删除下划线并使用RecordSet
.
这是因为在 Data.Win.ADODB 我们有:
_Recordset = Winapi.ADOInt.Recordset;
在 Winapi.ADOInt 我们有:
Recordset = _Recordset;
_Recordset = interface(Recordset21)
推荐阅读
- javascript - 如何在 exterm.js 中格式化文本颜色
- vb.net - 在 VB.Net 中使用字符串连接
- azure - 如何使用 index.html 打开 Azure Blob url
- python - Selenium Web 驱动程序中特定元素的语法错误
- javascript - 如何使用递归函数迭代数组?
- angular - 无法解决聊天应用程序中的无限循环问题
- c# - 在终结器中调用 GC.SuppressFinalize 是否无害?
- javascript - 资源被解释为文档,但在 Chrome 控制台中传输时出现 MIME 类型音频/mpeg 错误,导致无法播放声音
- laravel - Laravel 密码加密参数解密代码
- c# - 在 WPF WebBrowser 控件中查找并滚动到 XML 节点