我这样的创建了一个表,但不知道为什么就是无法插入记录(连编译都通不过!),代码如下:(0分)

  • 主题发起人 主题发起人 oicu
  • 开始时间 开始时间
O

oicu

Unregistered / Unconfirmed
GUEST, unregistred user!
。。。

cre:='create table MyTempTable(单位名称1 char(40),姓名1 char(8),身份证1 char(18),卡号1 char(10),姓名2 char(8),身份证2 char(18),卡号2 char(10))';

with ADOQUery1 do
begin
Connection:=ADOConnection1;
close;
SQL.Clear;
SQL.Add(cre);
Prepared;
ExecSQL;
end;

with MyTempTable do
begin
insert;
post;
end;
。。。
 
没有主键,定义一个PRIMARY KEY应该就没有问题了
 
你的账户有没有权限增加表???
 
现在编译通过了,mytemptable也建立了,但就是添加不了记录,提示:‘mytemptable对象已存在!’帆哦 55555
 
你的判断有问题
IF 表成在 THEN
INSERT
ELSE
CREATE TABLE
你的程序运行一次建一回表。

 
哦,不错,不幸的是怎样判断一个表是否存在呢?!
 
用异常处理来捕捉吧
try
打开表;
insert;
except
创建表;
end;
 
我用:
try
mytemptable.open;
insert;
except
showmessage('请创建表!');
end;

还是编译都通不过,提示:Undeclared identifier:'mytemptable'
.....55555。。。。。
 
编译不通过?检查你的Table是不是名为:mytemptable
 
Undeclared identifier:'mytemptable'
mytemptable 没有声明
拉个控件Ttable
 
with MyTempTable do
begin
insert;
post;
end;
这句大错特错 MyTempTable 这个东西应是个 TDataSet 定义的对象,应是个Query,
而在你的程序中测试个 字符没有定义的字符.

 
MyTempTable 不是什么字符,而是刚创建的表的名字,而且我试了拉了个ADOTable控件到窗体上,好象也不行哦,服了。。。。。!!!!
而MyTempTable 表明明存在的,我都看见了!555555。。。。
 
别把server上的mytemptable表和程序中的mytemptable控件混为一谈
with YourTempTable do // 程序里我偏叫YourTempTable, 用"YourTempTable"打开数据库中的"MyTempTable"你不要吃惊哦
begin
TableName := 'MyTempTable';
Open;
Insert;
Post;
Close;
end;
 
cre:='if not exists (select * from sysobjects where name=MyTempTable and Type=U) create table MyTempTable(单位名称1 char(40),姓名1 char(8),身份证1 char(18),卡号1 char(10),姓名2 char(8),身份证2 char(18),卡号2 char(10))';

with ADOQUery1 do
begin
Connection:=ADOConnection1;
close;
SQL.Clear;
SQL.Add(cre);
Prepared;
ExecSQL;
end;

with MyTempTable do
begin
insert;
post;
end;
。。。
 
俺综合了Pearl和Wangnen的意见,执行应用却提示:‘列名‘MyTempTable’无效’?!!!!
 
wangnen的方法是可以的
只是要稍微改以下
if not exists (select * from sysobjects where name=MyTempTable and Type=U)
改为'if not exists (select * from sysobjects where name=‘MyTempTable’ and Type=U)
 
后退
顶部