我用ADO连接ACCESS数据库,连接成功,但是用ADOCOMMAND执行SQL语句或者直接用DB****等控件也不行,前者报错为SQL语法错误,后者报错为ADOTABLE NOT IN EDIT OR INSERT MODE,很郁闷啊~~~我很急于解决这些问题~~~~希望大家帮帮我啊~~~~
附上我的SQL语句:
ADOCOMMAND1.COMMANDTEXT:='INSERT INTO TBNAME (ID,NAME,PASSWORD)VALUES (:ID,:NAME,:PASSWORD)'
ADOCOMMAND1.parameter.parameterbyname('ID').VALUES:='ABC'
ADOCOMMAND1.parameter.parameterbyname('NAME').VALUES:='ABC'
ADOCOMMAND1.parameter.parameterbyname('PASSWORD').VALUES:='ABC'
大家给帮帮忙啊

解决方案 »

  1.   

    1 前者用
    ADOCOMMAND1.COMMANDTEXT:='INSERT INTO TBNAME (ID,NAME,PASSWORD)VALUES ('':ID'','':NAME'','':PASSWORD'')'//如果是字符型,加引号
    2 后者,修改前调用adotable1.edit;
      

  2.   

    TO:firetoucher(风焱) 
    ADOCOMMAND1.COMMANDTEXT:='INSERT INTO TBNAME (ID,NAME,PASSWORD)VALUES ('':ID'','':NAME'','':PASSWORD'')'//如果是字符型,加引号
    这个方法不行:(
      

  3.   

    name  和 password 可能需要改为
    [name] ,[password],也许会和Access保留字冲突。
      

  4.   

    dm.ADOQuery2.SQL.Text := 'insert into TBNAME (NAME) values ('''+name+''')' 标准的spl语句,另外你的name,password字段类型不一样。上一句的name你的先付值。
      

  5.   

    access中不要用name,password做字段名,表名
    把改成aName,Pwd,sql语句没问题
      

  6.   

    把ID改为myID
    Name改为myName
    Password改为myPassword