用TADOQuery插入oracle数据表时出现“ORA-00942: 表或视图不存在” procedure TForm1.FormCreate(Sender: TObject);
var i:integer;
begin
  edt1.Clear;  pass:='manager';
  user:='system';
  servername:='absdate';
  mycon:='Provider=MSDAORA.1;Password= '+pass+ ';User ID= '+user+ ';Persist Security Info=True; '+ 'Data Source= '+servername;
  con1.ConnectionString:=mycon;
  con1.Connected:=true;
  if con1.Connected then
  begin
    qry1.Close;
    qry1.SQL.Clear;
    qry1.SQL.Text:='select * from sys.MZCS';
    qry1.Open;
    cbb1.Items.Clear;
    i:=0;
    while i<qry1.FieldList.Count do
    begin
      cbb1.Items.Add(qry1.Fields.Fields[i].FieldName);
      i:=i+1;
    end;
    cbb1.ItemIndex:=0;
  end;
end;procedure TForm1.btn2Click(Sender: TObject);
begin
  btn2.Enabled:=false;
  try
    qry1.Insert;
    qry1.Edit;
    qry1.FieldByName('USERNO').Text   := trim(edt2.Text);
    qry1.FieldByName('USERNAME').Text := trim(edt3.Text);
    qry1.FieldByName('PASSWORD').Text := trim(edt4.Text);
    qry1.Post;  finally
    btn2.Enabled:=true;
  end;
end;

解决方案 »

  1.   

    if   qquery1.Active   then   qquery1.Close; 
        qquery1.SQL.Clear; 
        qquery1.SQL.Add( 'insert   into   yzcx_office_addlist   (name,occupation) '); 
        qquery1.SQL.Add( '   values(:namez,:occupationz) '); 
        qquery1.Parameters.ParamByName( 'namez ').Value:=trim(Ename.Text);//姓名 
        qquery1.Parameters.ParamByName( 'occupationz ').Value:=trim(Eoccupation.Text);//职业 
        qquery1.ExecSQL;
      

  2.   

    請寫成類似以上的execsql方式試試看
      

  3.   

    1、建表空间2、建test用户3、给test用户授权4、使用test用户登录5、创建表
    这样你以test用户登录就可以正常操作你的表了。
      

  4.   

    try
        qry1.Insert;
        qry1.Edit;
    ....插入是 Append;应该改成这样
    //qry1.Insert;
    //qry1.Edit;
    qry1.Append;
      

  5.   

    你先测试一下能不能打开数据表,
    也就是说你先确定能与数据库中的表联接正常。然后再向表中插入数据。
    数据的插入直接用 append就行。
    不需要insert 再edit;