var sql :string;
var x:string;
if check1.checked then x='1';
else
check1.checked then x='0';sql:='insert into department_info (dpt_id,dpt_name,dpt_state) values(' +''''+eid.Text+''''+','+''''+ename.Text+''''+','+x+')';
QryDepart.SQL.Add(SQL);
QryDepart.ExecSQL;
运行时报错:插入布尔型数值时类型不匹配
我也用过将 x 转变成布尔行在插入的方法,一样不行,求教?// 

解决方案 »

  1.   

    var sql :string;
    var x:string;
    if check1.checked then x='True'else x='False';sql:='insert into department_info (dpt_id,dpt_name,dpt_state) values(' +''''+eid.Text+''''+','+''''+ename.Text+''''+','+x+')';
    QryDepart.SQL.Add(SQL);
    QryDepart.ExecSQL;
      

  2.   

    to :sliping(平原地带) 
    照你说的改了,问题依旧,提示:语法错误,操作符丢失
      

  3.   

    var sql :string;
    var x:string;
    if check1.checked then x='True'else x='False';sql:='insert into department_info (dpt_id,dpt_name,dpt_state) values(' +''''+eid.Text+''''+','+''''+ename.Text+''''+','+x+')';
    //可以用showmessage(sql)查看一下语句,也可以将sql帖出来看看,有一点可以肯定用True与False是绝对没错的,而且现在的错误提示已经不同了。当然你可以如此试试看:sql:='insert into department_info (dpt_id,dpt_name,dpt_state) values('''+'aa'+''','+''''+'bb'+''',true)'//用特殊值试一下
    QryDepart.close;
    QryDepart.sql.clear;
    QryDepart.SQL.Add(SQL);
    QryDepart.ExecSQL;
      

  4.   

    sql:='insert into department_info (dpt_id,dpt_name,dpt_state) values(' +''''+eid.Text+''''+','+''''+ename.Text+''''+','+booltostr(x)+')';
    改称如下,才通过。
      

  5.   

    booltostr(x)????楼主的x本就是string型呀!
      

  6.   

    var
     x:integer;x := 1; //true
    x := 0;//false
      

  7.   

    sql:='insert into department_info (dpt_id,dpt_name,dpt_state) values(' +''''+eid.Text+''''+','+''''+ename.Text+''''+','+x+')';
    QryDepart.SQL.Add(SQL);
    QryDepart.ExecSQL;
    是不需要改的,至少在x处没错如果x是string,那么就应该是
    sql:='insert into department_info (dpt_id,dpt_name,dpt_state) values(' +''''+eid.Text+''''+','+''''+ename.Text+''''+','''+x+''')';