我用两个ADOconnection连接,一个连本地access,一个连服务器oracle,都能连上,我想把access里的有些字段记录导入到服务器上,用adoquery,
我做了个测试,看能不能对服务器插入,如下:
var
i:string;
begin
i:='myname';
with queryoracle do
begin
close;
sql.clear;
sql.add('insert into t_sportbig(F_code,f_name)'+
' values(999998,1234)');
execsql;
end;
end;
为什么我在我的机器上加dbgrid,能看到,而在服务器上看不到呢?
还有oracle定义f_name是var(40)而我用
sql.add('insert into t_sportbig(F_code,f_name)'+
' values(999998,"'+i+'")');
就显示用错,语法不对吗?
那位高手帮解释以下这两个问题,谢谢!!
我做了个测试,看能不能对服务器插入,如下:
var
i:string;
begin
i:='myname';
with queryoracle do
begin
close;
sql.clear;
sql.add('insert into t_sportbig(F_code,f_name)'+
' values(999998,1234)');
execsql;
end;
end;
为什么我在我的机器上加dbgrid,能看到,而在服务器上看不到呢?
还有oracle定义f_name是var(40)而我用
sql.add('insert into t_sportbig(F_code,f_name)'+
' values(999998,"'+i+'")');
就显示用错,语法不对吗?
那位高手帮解释以下这两个问题,谢谢!!
' values(999998,"'+i+'")');
语法当然错啦,,"'+i+'"表示什么值啊?是字符串还是整数?应该
sql.add('insert into t_sportbig(F_code,f_name)'+
' values(:a,:b)');
Parameters.parambyname('a').Value:=999998;
Parameters.parambyname('b').Value:=''''+inttostr(i)+'''';
把常数付给变量就好看一点。
好象有个RSTR吧。或者是SUBSTR函数。