请教如何在表示层用sql语句? 没分了,抱歉!(31分)

  • 主题发起人 主题发起人 ICDB
  • 开始时间 开始时间
I

ICDB

Unregistered / Unconfirmed
GUEST, unregistred user!
我在clientdataset1.commandtext中用'select * from table where ...'
这句,没问题.
但我用了'select count(*) from table where...' 就不行了,提示XX字段没找到.
于是我又试着用select field1,field2 from table ...又不行了,提示field3没找到.
如果用select field1 from table 提示field2没找到.依此类推.
请问各位如何解决这个问题?
由于上几次出手太大方,每次都是300分,现在没分了,抱歉得很.全部家财只有31分!...
 
很久没有用delphi了,我记得好像dataset控件是可以定义列的吧,
是不是你对dataset定义的列和数据库中的表定义冲突了?
 
双击一下,看是否加入了固定字段
 
TO 小猪:
数据集是没有问题的.因为我没有自定义列.我是用的默认状态.而且我试了用
select * from computer where...就没问题呀.
 
to newyj:
固定字段已经加上了.
 
where 里面写的是什么?
 
应该没有问题
我刚刚试了一下。'select count(*) from clerksonoff where Ccardid='+#39+'1114'+#39;
这个是偶的的sql 意思一样。可是没有问题压
 
for ICDB,
我现在也在用TClientDataSet,我看书上说
在DatasetProvider的Options属性中使用PoPropogateChanges选项,服务器端所有的变化
(例如,在DatasetProvider.BeforeUpdateRecord事件中执行了一个业务规则),现在会
自动的返回到Tclientdateset中。此外,在DatasetProvider的Options属性中使用poAutoRefresh
选项,会自动合并AutoIncrement和缺省值并返回到TclientDataset中。
我照着书上作。先打开一个Tclientdataset。
str:='select * from clerksonoff ';
clientDataset2.CommandText:=str;
clientDataSet2.Open;
然后更改clerksonoff。的列的值。但是Clientdataset2的值却没有变化。还是更改以前的数据
表明设置Datasetprovider的Options的属性没有用。那该怎样才可以‘服务器端所有的变化
现在会自动的返回到Tclientdateset中’呢?
 
多人接受答案了。
 
后退
顶部