var
slDBpath: string;
sldb: TSQLiteDatabase;
sltb: TSQLIteTable;
sSQL: String;
m: Integer;
i: Integer;
procedure TForm1.Button1_SPClick(Sender: TObject);
begin
Form_SP_Add.ShowModal;
end;procedure TForm1.Button3_SPClick(Sender: TObject);
begin
// 设置数据库文件路径
slDBpath := ExtractFilepath(application.exename) + 'bath.db';
// 创建数据库连接
sldb := TSQLiteDatabase.Create(slDBpath);
try
// 执行查询 ,返回主窗体 sltb := sldb.GetTable(Utf8encode('SELECT * FROM serPerson')); try
Form1.StringGrid1_SP.Cells[0, 0] := '序号';
Form1.StringGrid1_SP.Cells[1, 0] := '服务人员ID';
Form1.StringGrid1_SP.Cells[2, 0] := '服务人员名称';
Form1.StringGrid1_SP.Cells[3, 0] := '服务人员性别';
Form1.StringGrid1_SP.ColWidths[0] := 60;
Form1.StringGrid1_SP.ColWidths[1] := 100;
Form1.StringGrid1_SP.ColWidths[2] := 100;
Form1.StringGrid1_SP.ColWidths[3] := 100;
Form1.StringGrid1_SP.Visible := true;
Form1.StringGrid1_SP.RowCount := sltb.Count + 1;
m := 1;
for i := 1 to sltb.Count do
begin Form1.StringGrid1_SP.Cells[0, m] := IntToStr(m);
Form1.StringGrid1_SP.Cells[1, m] := sltb.FieldAsString(sltb.FieldIndex['serPersonID']);
Form1.StringGrid1_SP.Cells[2, m] := sltb.FieldAsString(sltb.FieldIndex['serPersonName']);
Form1.StringGrid1_SP.Cells[3, m] := sltb.FieldAsString(sltb.FieldIndex['serPersonSex']);
m := m + 1;
sltb.Next;
end; finally
sltb.Free;
end;
finally
sldb.Free;
end;
end;
其中
Form1.StringGrid1_SP.Cells[2, m] := sltb.FieldAsString(sltb.FieldIndex['serPersonName']);
Form1.StringGrid1_SP.Cells[3, m] := sltb.FieldAsString(sltb.FieldIndex['serPersonSex']);
写入时的乱码已经解决
但是显示到窗口上的这个乱码,查了好久无法解决
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货