我从1个表里选出了想要的字段,用ADOQuery控件显示出来了。
现在我想向这个组合表里增加(或修改)一个记录。
选表的SQL语句如下:
select f_lineno as 线路代码,f_name as 线路名称 from a_tline order by f_lineno我是这样写的:
procedure TForm9.Button1Click(Sender: TObject);
begin
form8.ADOQuery1.append;
form8.ADOQuery1.fieldvalues['线路代码']:=Form9.Edit1.Text;
form8.ADOQuery1.fieldvalues['线路名称']:=Form9.Edit2.Text;
form8.ADOQuery1.post;
form8.ADOQuery1.refresh;
end;
运行通过,但当操作时报错如下:
[microsoft][odbc driver for oracle][oracle]ora-12704:字符集不匹配
不知道怎么改
现在我想向这个组合表里增加(或修改)一个记录。
选表的SQL语句如下:
select f_lineno as 线路代码,f_name as 线路名称 from a_tline order by f_lineno我是这样写的:
procedure TForm9.Button1Click(Sender: TObject);
begin
form8.ADOQuery1.append;
form8.ADOQuery1.fieldvalues['线路代码']:=Form9.Edit1.Text;
form8.ADOQuery1.fieldvalues['线路名称']:=Form9.Edit2.Text;
form8.ADOQuery1.post;
form8.ADOQuery1.refresh;
end;
运行通过,但当操作时报错如下:
[microsoft][odbc driver for oracle][oracle]ora-12704:字符集不匹配
不知道怎么改
with ADOquery do
begin
close;
sql.clear;
sql.add('insert into a_tline(f_lineno) values('+chr(39)+Form9.Edit1.Text+chr(39)+ ')';
sql.execute;
end;
with ADOquery1 do
begin
close;
sql.clear;
sql.add(' select * from a_tline where 条件 ');
open;
end;
追加:
with ADOquery1 do
begin
close;
sql.clear;
sql.add(' insert into a_tline values('''+edit1.text+''',等等) ');
execSQL;
end; OK!!!!
form8.ADOQuery1.append;
form8.ADOQuery1.fieldByName('线路代码').asstring:=Form9.Edit1.Text;
form8.ADOQuery1.fieldByName('线路名称').asstring:=Form9.Edit2.Text;
form8.ADOQuery1.post;
select f_lineno ,f_name from a_tline
order by f_lineno显示中文字段名,可以有其他很多方式吗?
为什么要这样做呢!
2、在数据库结构字段中不要用中文字符,这样非常容易出错!
到时也可以在ADOqry中修改!
用法如下:
strsql:= 'insert into a_tline(f_lineno,f_name)values'('''+Edit1.Text+''','''+Edit2.Text+''')'; with form8.ADOQuery1 do
begin
close;
sql.clear;
sql.add(strsql);
execSQL;
end;
还是报错,字符集不匹配再问:如果我是从多个表取得所需字段用ADOAquery组合成一个表,需要插入或修改记录,那又该如何办?
form8.ADOQuery1.fieldvalues['线路代码']:=Form9.Edit1.Text;
form8.ADOQuery1.fieldvalues['线路名称']:=Form9.Edit2.Text;
form8.ADOQuery1.post;