我刚刚开始学习delphi,在使用Clientdataset时候,我在CommandText中写入SQL,运行程序,在DBgrid还是显示全部数据,根本就没有执行到SQL语句这是为啥?
我的用得控件是 Clientdataset和DataSource 数据在dbgrid中显示出来,用DataSetProvider这个控件把里面的PoAllowCommandText值为true时候还是不能用..
有那位大哥帮帮我,已经快一个星期了,我找了很多的资料还是解决不了,我怀疑是我连接Clientdataset方面有问题。。那位大哥能不能给个详细的例子给我看看(最好能带上使用啥控件)。。
谢谢了。。
我的用得控件是 Clientdataset和DataSource 数据在dbgrid中显示出来,用DataSetProvider这个控件把里面的PoAllowCommandText值为true时候还是不能用..
有那位大哥帮帮我,已经快一个星期了,我找了很多的资料还是解决不了,我怀疑是我连接Clientdataset方面有问题。。那位大哥能不能给个详细的例子给我看看(最好能带上使用啥控件)。。
谢谢了。。
DataSetProvider1的dataset属性选择SQLDataSet1,options属性里面的poAllowCommandText属性选择true,
ClientDataSet1的ProviderName属性选择DataSetProvider1,DataSource1的dataset属性选择clientdataset1
我最近写一个数据库自动升级的工具,其中用到这个,截一段代码给你参考下:cdsDB就是Cilentdataset
procedure TfrmAS.Button1Click(Sender: TObject);
begin
with cdsDB do
begin
cdsDB.Active := false;
cdsDB.Close; cdsDB.CommandText := 'if exists (select 1 from sysobjects where id = object_id('+'''UpGrade'''+') and type ='+'''U'''+') drop table UpGrade' ;
cdsDB.Execute; cdsDB.CommandText :='create table UpGrade(objectname varchar(20),newver varchar(10),SQL int ,SQLblock text,verchange bit)';
cdsDB.Execute;
end;
end;
哥们你也给点分再问问题啊,不然没多少人愿意回答你!~