出现错误提示:ORA-00911:invalid character,怎么办?(50分)

  • 主题发起人 主题发起人 dedema
  • 开始时间 开始时间
D

dedema

Unregistered / Unconfirmed
GUEST, unregistred user!
有一个表,有一个字段tablename的类型为WideString。
然后往这个表插入记录:
insert into (tablename) values ('12342212341')
在delphi程序中执行这个语句,出现
ORA-00911:invalid character
的错误提示!
应该怎么解决这个问题的?
另外提示:数据库是oracle8i。应该是本地的数据库吧!
因为我是把程序上传到服务器,再远程登录运行这个程序时出现这个错误信息的。
 
好象是语法错了。应该是:
INSERT INTO tablename (FieldList) VALUES (ValueList);
具体你看看oracle文档。
 
对,语法错了,
比如你的表名是Table1,那么
insert into table1(tablename) values('12342212341')
 
insert into table1 (tablename) values(''12342212341'')
delphi中两个引号代表一个引号
 
你不是直接在ORACLE的SQL。PLUS 8。0下执行这个语句吧???

在DELPHI中,SQL语句的最终形式要符合SQL的语法,你可以把 '用#39或楼上的兄台的来代替,

你的语句的形式就变成了:
SQLSTRING:='insert into 表名程 values(' + #39 + '12342212341' + #39 + ')'

我以前这样用过(一直这样用),而且马上又要用ORACLE了,没问题的!
 
对不起,对不起。。。
我的语法是这样的:
adoquery2.SQL.Add ('insert into sendsmtable
(sm_time,src_addr) values(sysdate,''1234544555'')');
以上两行为同一行的。
我一时写错,大伙儿不要生气啊!
 
哦。。。。昨天晚上,我试了一下,现在变得可以insert into了。
真是莫名其妙,但对表sendsmtable却无法select * from sendsmtable
了,一执行这个语句,就出现非法操作。执行这些sql语句的程序是用
delphi来写的,上传到服务器那儿运行的。
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
886
DelphiTeacher的专栏
D
后退
顶部