1. 首先问大家dataSet如何手动赋值(不连接数据库),我写了一个一直报错
procedure TMenu.Button2Click(Sender: TObject);
var form1: Tform1;
var dataSet:TclientDataSet;
begin
try
with dataSet do
begin
with FieldDefs.AddFieldDef do
begin
DataType := ftInteger;
Name := 'a';
end;
CreateDataSet;
end;
dataSet.Open;
dataSet.append;
dataSet.fieldbyname('a').asInteger:= 1;
dataSet.Post;
except
on e: Exception do
showmessage(e.Message);
end;
end;
2. 之所以想使用dataset是因为用户可以随意添加数据集,也就是说我不知道数据的数量,不能用数组,于是我就想到用TclientDataSet,以前做.net的时候就这么干。
现在被TclientDataSet打击的没信心了,想用个别的,比如java的arraylist之类的,请问delphi有比较好用的类吗 很久没编程了,现在菜的可以,请大家不要见笑,多多指教
procedure TMenu.Button2Click(Sender: TObject);
var form1: Tform1;
var dataSet:TclientDataSet;
begin
try
with dataSet do
begin
with FieldDefs.AddFieldDef do
begin
DataType := ftInteger;
Name := 'a';
end;
CreateDataSet;
end;
dataSet.Open;
dataSet.append;
dataSet.fieldbyname('a').asInteger:= 1;
dataSet.Post;
except
on e: Exception do
showmessage(e.Message);
end;
end;
2. 之所以想使用dataset是因为用户可以随意添加数据集,也就是说我不知道数据的数量,不能用数组,于是我就想到用TclientDataSet,以前做.net的时候就这么干。
现在被TclientDataSet打击的没信心了,想用个别的,比如java的arraylist之类的,请问delphi有比较好用的类吗 很久没编程了,现在菜的可以,请大家不要见笑,多多指教
在delphi里,都是用TList系列的类来实现arraylist的功能马?我以前在java里习惯用arraylist,在.net里习惯用dataset
我去式一下,用TList系列的类也许可以解决我的第2各问题
还请高人帮我解答一下第一个问题,搞了2个多小时,非常想知道下答案。
ClientDataSet1 := TClientDataSet.Create(application);
with ClientDataSet1 do
begin
with FieldDefs.AddFieldDef do
begin
DataType := ftInteger;
Name := 'Field1';
end;
with FieldDefs.AddFieldDef do
begin
DataType := ftString;
Size := 10;
Name := 'Field2';
end;
with IndexDefs.AddIndexDef do
begin
Fields := 'Field1';
Name := 'IntIndex'; end;
CreateDataSet;
ClientDataSet1.Open;
ClientDataSet1.Append;
fieldbyname('Field1').AsInteger:= 1;
fieldbyname('Field2').AsString:= 'b';
post;
ClientDataSet1.MoveBy(1); end;
showmessage(ClientDataSet1.FieldValues['Field1']);
showmessage(ClientDataSet1.FieldValues['Field2']);