是否可以在非可视单元或类对象内部创建使用 TClientDataSet?
是否可以在运行时在对象内创建和使用 TClientDataSet?
我喜欢在表中进行多项更改,并以类似缓存的方式同时应用这些更改,TClientDataSet 可以让我做到这一点。 知道当我想要这样做时,我必须构建一个 TForm。
是否可以?
UPDATE
如果没有 TDataSetProvider 和 TSQLQuery ,它可以使用吗?如何使用? 因为我尝试过,但它给了我一个错误,没有提供者!!
Is it possible to create and use a TClientDataSet inside an Object at runtime?
I like to make several changes in my Table and have those all Applied at the same time in cache like way, and TClientDataSet lets me do that. Know when I want to do this I have to build a TForm.
Is it Possible?
UPDATE
Can it be used, and How, without TDataSetProvider, and no TSQLQuery ?
Because I tried it and it gave me an error no Provider!!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
组件只是类,您可以同样使用它们:
如果您愿意,您还可以创建 clientdataset 属性:
尽管某些可视组件可能需要可视父级,但对于 TClientDataset 来说应该没有这样的要求。
Components are just classes, and you can use them likewise:
You can also make a clientdataset-property if you like:
Some visual components may require a visual parent though, but for TClientDataset there should be no such requirement.
您可以在运行时创建 TClientDataset。 (参见 Vegar 的回答。)至于提供者问题,解决方案是为其定义字段,然后使用 CreateDataset 方法(而不是 Open 方法!)打开数据集,然后它就可以工作了。
You can create a TClientDataset at runtime. (See Vegar's answer.) As for the provider issue, the solution is to define fields for it, then open the dataset with the CreateDataset method (not the Open method!) and then it'll work.
你当然可以这样做。 但您也可以考虑使用数据模块。 您可以将不可见组件拖到数据模块并使用对象检查器来设置值。
Of course you can do that. But you can also considder using a data module. You can drag non visible components to a datamodule and use the object inspector to set the values.
是的,您可以这样做,TClientDataSet 是非可视组件,并非设计为仅在表单内使用。
您可以构建一个具有可以使用 TClientDataSet 的类和方法的单元(不带 .dfm 的 .pas)并将其作为参数返回。
Yes you can do, TClientDataSet is non visual component, and not designed to be used only inside forms.
You can build a unit (.pas without .dfm) than has classes and methods that can used TClientDataSet and return it also as parameters.