con1: TADOConnection;
qry1: TADOQuery;
idmsg1: TIdMessage;
ds2: TDataSource;
ds1: TClientDataSet;
dtstprvdr1: TDataSetProvider;
配置连接
qry.con指向con1
dtstprvdr1 的dataset指向qry1
dtstprvdr1 .option.poAllowCommandText=True
TClientDataSet.providerName=dtstprvdr1
ds2的dataset指向ds1
DBGrid1 datesource 指向 datasource1
在ds1.里面写如下代码
ds1.Close;
ds1.CommandText:='select * from Tree';
ds1.Open;
得到查询的结果如下所示
//提交添加数据
ds1.Insert;
ds1.FieldByName('id').AsString:='cc';
ds1.FieldByName('name').AsString:='aa';
ds1.FieldByName('parentID').AsString:='bbb';
//ds1.post;(当这个不能实现的时候就用下面的实现更新)
ds1.ApplyUpdates(0); //填充数据
//删除数据
ds1.Close;
ds1.CommandText:='DELETE FROM Tree WHERE Tree.id='+ QuotedStr('4');
ds1.Execute;
//更新数据
ds1.Close;
ds1.CommandText:='UPDATE Tree SETTree.id=xx
WHERE Tree.id=xx';
ds1.Execute;
//字段排序
ds1.IndexFieldNames:='id';
//筛选数据
ds1.Filter:='name like '+QuotedStr('a%'); //筛选的表达式
ds1.Filtered:=True; //显示筛选后的数据消息
//TcxDBTextEdit
设置dataBiding的datafield 为数据库指定的字段名称,datasource为指定数据库的datasource
//绑定TLookUpComboBox
properties -> ListField
properties ->FieldKey
properties ->ListSource
这三个分别设置就可以显示出结果
//TcxDBDateEdit 数据绑定日期控件
// DataClientSet执行SQL语句
首先,放一个TSQLDataSet+TDatasetProvider+TClientDataSet控件在窗体上,然后设置SQLDataset的SQLConnection属性为TSQLConnection1。
注意:如果用ClientDataSet控件查询,需要首先设置TDatasetprovider-options-poallowcommandtext 设为True.然后TDataSetprovider才能接受ClientDataSet的SQL语句。
procedure TForm1.Button1Click(Sender: TObject);
begin
self.ClientDataSet1.Close;
self.SQLDataSet2.Close; //必须先关闭SQLDataSet2,否则会报错。
self.ClientDataSet1.CommandText:='insert into main (title) values (''QQQQQQQQQQQQQQQ'')';
self.ClientDataSet1.Execute;
self.ClientDataSet1.Close;
self.ClientDataSet1.CommandText:='select * from main';
self.ClientDataSet1.Open;
end;
用SQL语句可以直接添加数据记录到数据库中,不用再ApplyUpdates方法,谢谢。
//dataclientset 之间的副局拷贝
CDS2.AppendData(CDSEmployee.Data,False);
或者是
CDS2.Data:= CDSEmployee.Data;
将DS1(数据源)的dataset = CDS2
dbgrdh2.DataSource:=DS1; //绑定数据源
这样dbgrdh2就会显示数据。
//判断dbgridth数据类型
if CDSEmployee.Fields[0].DataType in [FTInteger,FtFloat] then
begin
ShowMessage('AA');
end;