轻易不问问题,一问就是200分(200分)

  • 主题发起人 主题发起人 sea_air
  • 开始时间 开始时间
S

sea_air

Unregistered / Unconfirmed
GUEST, unregistred user!
关于delphi连Dbase数据库的问题.
如何在query 控件里创建一个dbase表,数据库连接都已经对,创建表也可以,但是
不知道创建浮点数字段怎么创建,

例如,想创建一个表为
姓名: xm char (8)
成绩: cj float(6,1)
但语句
CREATE TABLE "aaa.dbf" (xm CHAR(8),cj numeric(6,1)) 不行
提示错误:create table 中的语法错误
但如果专门创建第一个字段时就可以通过,CREATE TABLE "aaa.dbf" (xm CHAR(8))
你知道在DBase里创建浮点数的字段,浮点数用什么来表示呢?
 
procedure TForm1.Button1Click(Sender: TObject);
begin
with Query1 do
begin
Close;
SQL.Text:='Create Table bb (col1 char(10),col2 float(4,1))';
ExecSQL;
end;
end;
 
CREATE TABLE "aaa.dbf" (xm CHAR(8),cj numeric(6,1))
我试验了一下,可以
 
对呀,我也试过了。可以的。
 
上面的问题解决了,出来新问题了,
往表里添加记录时添加的xm为中文,但实际添加的却为乱码,怎么办?
 
你添加的DBF文件是否是在BDE的别名中,你指定对应的BDE别名的
langdriver为dbase chs cp936就行
 
或者使用 ANSII850
 
我用的是adoquery,用的数据引擎是Microsoft Dbase driver(*.dbf),将langdirver改为
"dbase chs cp936"后,所插入的数据还是"???",象这样的情况不知道几位专家遇到过没有.
应该如何解决.
adoConnection1: Connecting String:
Provider=MSDASQL.1;
Persist Security Info=False;
Data Source=dBASE Files;
Initial Catalog=D:/数据
adoquery: SQL 语句
insert into "aa.dbf" ( xh,xm,fs) values ('99002','张三','15.2')
但最后显示的"张三"就只是"??",这样应该怎么改呢?
 
ado不通过odbc访问dbase数据库,而用jet oledb直接访问的方法:
http://www.delphibbs.com/delphibbs/dispq.asp?lid=960160
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
927
SUNSTONE的Delphi笔记
S
后退
顶部