本文主要是介绍lazarus:不安装任何驱动,直接使用csv文件作为数据集,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
1 简介
2 需要的窗体控件很简单
3 定义字段并插入几条记录
4 其他操作
4.1 数据集保存为csv文件
4.2 清空数据
4.3 加载csv文件
5 运行程序
6 导出文件
1 简介
在某些数据操作需求特别简单的情况下,我们希望不要安装任何数据库,甚至连一个驱动dll都不要,因为这些驱动dll可能涉及到版本甚至跨平台问题。这种简单需求,可以直接使用csv文件作为数据集来进行增查删改操作。注意,这不是用某些数据库映射csv文件作为数据库的一个表。
这种直接操作csv文件数据集好处不少,比如不用安装任何驱动,支持跨平台,可以直接使用文本编辑器修改文件,体积极小容易发布等。当然Lazarus还有其他可用的类似方式,比如直接操作电子表格文件、dbf文件等,都不需要安装驱动,都可以实现增查删改功能。
这里简单介绍把csv映射为数据集以及相关的简单操作。
2 需要的窗体控件很简单
核心控件就是这个 CSVDataset,位于控件集的Data Access页签中。
3 定义字段并插入几条记录
在FormCreate事件中,检查是否存在指定名称的csv文件,如果存在就直接加载。如果不存在,则定义字段信息,然后用代码插入几条记录:
procedure TForm1.FormCreate(Sender: TObject);
beginCSVDataset1.FileName := Application.Location + FILENAME;CSVDataset1.CSVOptions.FirstLineAsFieldNames := true;// 程序首次运行,数据文件不存在.// 必须创建字段信息.建立数据集。if not FileExists(CSVDataset1.FileName) then beginwith CSVDataset1 do beginFieldDefs.Add('FirstName', ftString, 20);FieldDefs.Add('LastName', ftstring, 20);FieldDefs.Add('City', ftString, 20);FieldDefs.Add('Address', ftString, 30);FieldDefs.Add('Birthdate', ftDate);CreateDataset;// 打开数据集...Open;// ... 增加数据:Append;FieldByName('FirstName').AsString := 'Walter';FieldByName('LastName').AsString := 'Mellon';FieldByName('City').AsString := 'Oklahoma City';FieldByName('Address').AsString := '1261, Main Street';FieldbyName('Birthdate').AsDateTime := EncodeDate(1980, 1, 1);Post;Append;FieldByName('FirstName').AsString := 'Mario';FieldByName('LastName').AsString := 'Speedwagon';FieldByName('City').AsString := 'Hollywood';FieldByName('Address').AsString := '1500, Hollywood Blvd';FieldbyName('Birthdate').AsDateTime := EncodeDate(1982, 12, 17);Post;Append;FieldByName('FirstName').AsString := 'Anna';FieldByName('LastName').AsString := 'Mull';FieldByName('City').AsString := 'Los Angeles';FieldByName('Address').AsString := '2202, Capitol Square';FieldbyName('Birthdate').AsDateTime := EncodeDate(1982, 12, 17);Post;end;end;CSVDataset1.Open;
end;
4 其他操作
4.1 数据集保存为csv文件
procedure TForm1.Button1Click(Sender: TObject);
beginCSVDataset1.SaveToCSVFile('exported.csv');
end;
4.2 清空数据
procedure TForm1.Button2Click(Sender: TObject);
beginCSVDataset1.Clear;
end;
4.3 加载csv文件
procedure TForm1.Button3Click(Sender: TObject);
beginCSVDataset1.LoadFromCSVFile('exported.csv');
end;
5 运行程序
6 导出文件
导出的csv文件如果有中文,需要以utf8格式查看。
这篇关于lazarus:不安装任何驱动,直接使用csv文件作为数据集的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!