回 帖 发 新 帖 刷新版面

主题:运行出错

if trim(edit1.Text) <> '' then
 begin
   with datamd.ADOmanage do
    begin
     close;
     sql.Clear;
     sql.Add('insert into manage(user,password) values (:m_user,:m_password)');
     parameters.ParamByName('m_user').Value := edit1.Text ;
     parameters.ParamByName('m_password').Value := edit2.Text ;
     execsql;//这里出错
    end;
 end;
是什么问题呀,请各位大佬们帮帮手

回复列表 (共5个回复)

沙发

未指明参数的数据类型。给参数赋值前应:
parameters.ParamByName('m_user').数据类型:=????;  //不记得关键词了,自己看帮助吧。

板凳


把execsql换成open试一下

3 楼

OPEN不支持插入

4 楼

sql语句有问题,你用sql 查询分析器执行一下看看

5 楼

if trim(edit1.Text) <> '' then
 begin
   with datamd.ADOmanage do
    begin
     close;
     sql.Clear;
     sql.Add('insert into manage(user,password) values (:m_user,:m_password)');
     parameters.ParamByName('m_user').asstring := trim(edit1.Text) ;
     parameters.ParamByName('m_password').asstring := trim(edit2.Text) ;
     execsql;//这里出错
    end;
 end;

注意一下值的问题,你的程序中用到value,你可以改成其它的string或integer或float都行.

我来回复

您尚未登录,请登录后再回复。点此登录或注册