字段名或字段值有中文的有问题,如何解决?
var filename:string;
i,count:integer;
begin
if datasource1.dataset.active=false then exit;
i:=0;
count:=datasource1.dataset.recordcount;
filename:='';
if savedialog2.Execute then
begin
filename:=savedialog2.FileName;
Table_DBF.Active:=false;
table_dbf.DatabaseName:='C:\';
Table_DBF.TableName:=filename;
Table_DBF.TableType:=ttFoxPro;if not Table_DBF.Exists then begin
with Table_DBF.FieldDefs do
begin
Clear;
//循环定义字段开始
for i:=0 to datasource1.DataSet.FieldCount-1 do
begin
Table_DBF.FieldDefs.add(datasource1.DataSet.FieldDefs[i].DisplayName,datasource1.DataSet.FieldDefs[i].DataType,datasource1.DataSet.FieldDefs[i].Size);
end;
Table_DBF.CreateTable;
end;
end;{if not //定义字段结束}i:=0;try
Table_DBF.Active:=True;
if not Table_DBF.eof then
begin
Table_DBF.Close;
Table_DBF.EmptyTable;
Table_DBF.Open;
end;
except
on e:exception do
begin
Table_DBF.Close;
Application.MessageBox(pchar(e.message+'数据库错误'),'error', MB_OK+MB_ICONERROR);
exit;
end;
end;
datasource1.dataset.First;
while not datasource1.dataset.Eof do
begin
//插入DBF文件 for I := 0 to datasource1.dataset.FieldCount - 1 do
begin
Table_DBF.Append;
Table_DBF.Fields[i].Value:=datasource1.dataset.Fields[i].value;
Table_DBF.Post;
end;datasource1.dataset.Next;
end;
Table_DBF.Close;end;字段名或字段值有中文的有问题,如何解决?
var filename:string;
i,count:integer;
begin
if datasource1.dataset.active=false then exit;
i:=0;
count:=datasource1.dataset.recordcount;
filename:='';
if savedialog2.Execute then
begin
filename:=savedialog2.FileName;
Table_DBF.Active:=false;
table_dbf.DatabaseName:='C:\';
Table_DBF.TableName:=filename;
Table_DBF.TableType:=ttFoxPro;if not Table_DBF.Exists then begin
with Table_DBF.FieldDefs do
begin
Clear;
//循环定义字段开始
for i:=0 to datasource1.DataSet.FieldCount-1 do
begin
Table_DBF.FieldDefs.add(datasource1.DataSet.FieldDefs[i].DisplayName,datasource1.DataSet.FieldDefs[i].DataType,datasource1.DataSet.FieldDefs[i].Size);
end;
Table_DBF.CreateTable;
end;
end;{if not //定义字段结束}i:=0;try
Table_DBF.Active:=True;
if not Table_DBF.eof then
begin
Table_DBF.Close;
Table_DBF.EmptyTable;
Table_DBF.Open;
end;
except
on e:exception do
begin
Table_DBF.Close;
Application.MessageBox(pchar(e.message+'数据库错误'),'error', MB_OK+MB_ICONERROR);
exit;
end;
end;
datasource1.dataset.First;
while not datasource1.dataset.Eof do
begin
//插入DBF文件 for I := 0 to datasource1.dataset.FieldCount - 1 do
begin
Table_DBF.Append;
Table_DBF.Fields[i].Value:=datasource1.dataset.Fields[i].value;
Table_DBF.Post;
end;datasource1.dataset.Next;
end;
Table_DBF.Close;end;字段名或字段值有中文的有问题,如何解决?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货