query1.Close;
query1.SQL.Clear;
query1.SQL.Add('insert into country.db (name,capital,population)');
query1.SQL.Add('values(:name,:capital,:population)');
query1.Params[0].AsString:='Chinese';
query1.Params[1].AsString:='Beijing';
query1.Params[2].AsString:='130000000';
query1.Prepare;
query1.execSQL;
运行后出现的错误提示是:type mismatch in expression.
附:
  各位再多给些这种东东,现在急求关于SQL的一些语句的用法。

解决方案 »

  1.   

    population是什么类型的?
    在线吧?
      

  2.   

    如果不是类型错误的话:query1.SQL.Add('insert into country.db (name,capital,population)');
    query1.SQL.Add(' values(:name,:capital,:population)');
                   ^^//加一个空格
      

  3.   

    那应该是query1.Params[2].AsInteger:='130000000';
      

  4.   

    query1.SQL.Add('insert into country.db(name,capital,population)');
    query1.SQL.Add(' values(:name,:capital,:population)');
      

  5.   

    提示的意思好象是你的类型表达有问题!
    你的1300000000的数值那么大,看看这个字段的type属性是什么
    先改成1300运行看看!
      

  6.   

    query1.SQL.Add('values(:name,:capital,:population)');问题很可能出在这句。首先是空格问题,然后,参数的名称不要与字段想同,换成
    query1.SQL.Add('values(:v_name,:v_capital,:v_population)');
    try it!Good Luck!
      

  7.   

    query1.Params[0].value:='Chinese';这样呢?