求助:TClientDataSet的使用(急)!!!

lingice 2001-12-03 08:43:52
各位大虾,下地我快要被急疯了!请看:
我要做一个两层的数据库,在本地数据库上我后台使用的是ACCESSS数据库。我在一个
Form上放了TClientDataSet、TDBGrid、TDataSetProvider、TDataSource、TDatabase,相
应设置为:TDataSource1的DataSet为TClientDataSet1,TClientDataSet1的PrvoiderName
为TDataSetProvider1,TDBGrid1的DataSource为TDataSource1,其他的属性基本上都是默
认值。
我在Button的OnClick事件中加上如下代码:
Procedure TForm1.Button5Click(Sender: TObject);
Begin
With ClientDataSet1 Do
Begin
Close;
CommandText :=XXXXXX;(这是一条已经测试过的SQL语句,Select xxxxxx)
open;//open可以运行,但是改成Execute可以编译,但是运行到这就报错!
//data := DataSetProvider1.Data;
End;
//ClientDataSet1.UpdateRecord;
ShowMessage(ClientDataSet1xmmc.Value);//运行时显示为空
End;

我通过SQL montier监测、发现与巨已经被执行并且又返回值,但是在DBGrid上显示不出来!
showmessage某一个字段也是为空!
请大虾们帮帮我!

注:我在TClientDataSet的FieldDefs对要显示的字段进行了设置(因为并不是要把所有的字段
都显示出来),并且我都把他们添加成“永久字段”。
...全文
143 18 打赏 收藏 举报
写回复
18 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
lingice 2001-12-06
EHLIB不是免费的!你那有破解的吗?给我一份好吗?
我的E-Mail: lingcn@sina.com
  • 打赏
  • 举报
回复
halfdream 2001-12-04
我这样用过运行得很好啊,
到底系统报的是哪类错误?
请说详细些.
  • 打赏
  • 举报
回复
di2000 2001-12-04
sunyanbin(太阳)
我怎么没有发现呢?
能说说怎么作吗
  • 打赏
  • 举报
回复
sunyanbin 2001-12-04
不用第三方控件好象没有别的好办法,
我还是推荐EHLIB,它支持多层表头。
  • 打赏
  • 举报
回复
lingice 2001-12-04
不一定是双表头,还有可能是3、4表头.
  • 打赏
  • 举报
回复
lingice 2001-12-04
用TClientDataSet + TDBGrid也可以实现,就是很麻烦!
除了用第三方控件还有别的办法吗?
  • 打赏
  • 举报
回复
sunyanbin 2001-12-03
是双表头
你可以用支持双表头的GRID构件,比如EHLIB
  • 打赏
  • 举报
回复
lingice 2001-12-03
所谓复杂也就是给字段(不一定是同一张表里的)进行“分组”。比如说,
----------------------
| 收入 | 支出 |
----------------------
|笔数|金额| 笔数| 金额 |
| | | | |

可能表述的不好!意思差不多!
  • 打赏
  • 举报
回复
lingice 2001-12-03
但是在TQuery中没有FieldDefs呀!
有些时候我需要从许多表中取数据,要是用TTable的话就有FieldDefs属性了!
其实我也是一点也不想用TClientDataSet的!想我这种情况有什么别的解决方法?
  • 打赏
  • 举报
回复
sunyanbin 2001-12-03
多复杂能详细点吗?
用QRERY不行吗?
  • 打赏
  • 举报
回复
lingice 2001-12-03
怎样设置DatSetProvider的DataSet属性,才能给ClientDataSet提供数据?
谢谢!
  • 打赏
  • 举报
回复
taxi 2001-12-03
非常复杂的title,用字段编辑器。
  • 打赏
  • 举报
回复
lingice 2001-12-03
我之所以用TClientDataSet是因为在TDBGrid中我要作处一个非常复杂的Title!
除了用这个还有别的方法吗?请大家指点!
谢谢!
  • 打赏
  • 举报
回复
sunyanbin 2001-12-03
为啥用TClientDataSet??
  • 打赏
  • 举报
回复
踢踏 2001-12-03
建议:既然是两层数据库,没必要放TDataSetProvider
  • 打赏
  • 举报
回复
踢踏 2001-12-03
open返回的是一个数据集,execute不返回一个数据集,所以你执行到那儿就出错了。
  • 打赏
  • 举报
回复
vmao 2001-12-03
因为你的服务器端不允许串动态的sql语句呀!
把服务端的provider的option的opallowcommandtext设为true;
  • 打赏
  • 举报
回复
taxi 2001-12-03
哎呀,访问access还用clientdataset、datasetprovider,用ado不是很好吗?
DatSetProvider的DataSet属必没有设,怎么给ClientDataSet提供数据,不要把DataSetProvider中的AllowCommand设为true,在Option属性中。
  • 打赏
  • 举报
回复
相关推荐
发帖
Delphi

5124

社区成员

Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
帖子事件
创建了帖子
2001-12-03 08:43
社区公告
暂无公告