---库结构如下
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[t1]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[t1]
GOCREATE TABLE [dbo].[t1] (
[id] [bigint] NOT NULL ,
[rname] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[small] [int] NULL ,
[zdke] [bigint] NULL ,
[def] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[t1] [datetime] NULL ,
[t2] [datetime] NULL
) ON [PRIMARY]
GOALTER TABLE [dbo].[t1] ADD
CONSTRAINT [PK_t1] PRIMARY KEY CLUSTERED
(
[id]
) ON [PRIMARY]
GO
D代码如下:procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
begin
with ADOQuery1 do begin
close;
SQL.Text := 'select * from t1';
open;
append;
for i:=0 to Fields.count-1 do begin
case Fields[i].DataType of
ftString:Fields[i].AsString := '111';
ftWideString:Fields[i].AsString := '111';
ftDate:Fields[i].AsDateTime := date;
ftDateTime:Fields[i].AsDateTime := Date;
ftInteger:Fields[i].AsInteger := 123;
ftLargeint:TLargeintField(Fields[i]).AsLargeInt := 123;
else
Fields[i].AsInteger := 123;
end ; end ;
end ;end;procedure TForm1.Button2Click(Sender: TObject);
begin
ADOQuery1.Post; // ~~~~~~~~~~~出现 EvariantBadVarTypeError: Invalid variant type
end;多简单的代码呀 不知道错在哪 ...
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[t1]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[t1]
GOCREATE TABLE [dbo].[t1] (
[id] [bigint] NOT NULL ,
[rname] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[small] [int] NULL ,
[zdke] [bigint] NULL ,
[def] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[t1] [datetime] NULL ,
[t2] [datetime] NULL
) ON [PRIMARY]
GOALTER TABLE [dbo].[t1] ADD
CONSTRAINT [PK_t1] PRIMARY KEY CLUSTERED
(
[id]
) ON [PRIMARY]
GO
D代码如下:procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
begin
with ADOQuery1 do begin
close;
SQL.Text := 'select * from t1';
open;
append;
for i:=0 to Fields.count-1 do begin
case Fields[i].DataType of
ftString:Fields[i].AsString := '111';
ftWideString:Fields[i].AsString := '111';
ftDate:Fields[i].AsDateTime := date;
ftDateTime:Fields[i].AsDateTime := Date;
ftInteger:Fields[i].AsInteger := 123;
ftLargeint:TLargeintField(Fields[i]).AsLargeInt := 123;
else
Fields[i].AsInteger := 123;
end ; end ;
end ;end;procedure TForm1.Button2Click(Sender: TObject);
begin
ADOQuery1.Post; // ~~~~~~~~~~~出现 EvariantBadVarTypeError: Invalid variant type
end;多简单的代码呀 不知道错在哪 ...
case Fields[i].DataType of
ftString:Fields[i].Value:= '111';
ftWideString:Fields[i].Value:= '111';
ftDate:Fields[i].Value:= date;
ftDateTime:Fields[i].Value:= Date;
ftInteger:Fields[i].Value:= 123;
ftLargeint:Fields[i].Value:= 123;
else
Fields[i].Value:= 123;
end ;
但是 MSSQL的bigint DELPHI中不能用?
window2003正常
window2000 adv server 出错~~~~~~~~~KAO
建议你安装SQL SERVER补丁以及最新的MDAC看看。
XP
都正常
是不是现在没人用这个 windows 2000 server 了
什么地方的问题,恐怕就要你自己想办法了。反正所有补丁都打上(操作系统的,SQL SERVER的,DELPHI的),还是不行就重装系统