刚学DELPHI,有一个问题请教各位d_id := ADOQuery1.FieldValues['branch_id']; //branch_id字段为numeric
将ADOQuery1.FieldValues['branch_id']插到另一张表的member_branch_id字段中,member_branch_id也为numeric,运行时老是抱错,说语法错误,请大侠门指点!谢谢sqlstr := ' insert into abis_member(member_code, member_name, member_password, member_branch_id, member_phone, member_birthday, member_regeist_date) ';        //工作状态
sqlstr := sqlstr + 'value(''' + trim(edit2.text) + ''',''' + trim(edit1.text) + ''','''  + abis_s_PassWord + ''','  + ADOQuery1.FieldValues['branch_id'] + ',''' + trim(edit3.text) + ''',''' + trim(edit4.text) + ''',''' + FormatDateTime('yyyy-mm-dd hh:mm:ss', GetServerTime()) + ''')';   //用户的IP地址ADOCommand1.CommandText := sqlstr;
ADOCommand1.Execute;

解决方案 »

  1.   

    ADOQuery1.FieldValues['branch_id']本身是个非字符串类型,需要转换成字符串后再添加到sqlstr里。
      

  2.   

    sqlstr是个字符串哈,你需要转换后才能加个这个字符串里,但不需要象edit1.text那样,用引号括起来啊,因为那个的目标字段是个字符串,所以要括,但这个不是字符串,所以不用括。
      

  3.   

    sqlstr := sqlstr + 'value(''' + trim(edit2.text) + ''',''' + trim(edit1.text) + ''','''  + abis_s_PassWord + ''','  + ADOQuery1.FieldValues['branch_id'] + ',''' + trim(edit3.text) + ''',''' + trim(edit4.text) + ''',''' + FormatDateTime('yyyy-mm-dd hh:mm:ss', GetServerTime()) + ''')';   //用户的IP地址改成...... + FloatToStr(ADOQuery1.FieldValues['branch_id']) + ......
      

  4.   

    好象不行夜,仍抱错,说values付进有错误!请再帮俺看看,谢谢,收工后来俺家喝酒