edit5.text 内容为 2.5
edit6.text 内容为3
如何实现将edit5.text和edit6.text insert到 ggb的“规格”字段里头,
然后"规格"字段所显示的内容必须为 2.5*3 (两个数据中间加一个*号)麻烦给位大侠了!
我的程序如下:procedure TForm1.Button2Click(Sender: TObject);
a,b,c,e,f,g,h,i,j,k,temp:real;
  cmd1,cmd2:string;
begin
    begin
       a:=strtofloat(edit1.Text);
       b:=strtofloat(edit2.Text);
       c:=strtofloat(edit3.Text);
       e:=strtofloat(edit4.Text);
       
         begin        //数据录入
          cmd:1= format('insert into ggb 规格 values(''%s'') ',
               dit5.text+'*'+edit6.text]);
          cmd2:='insert into ggb(上月结存,平方数1,本月购入,平方数2) values(''a'',''b'',''c'',''d'')';
          ADOQuery1.close;
          ADOQuery1.sql.clear;
          ADOQuery1.sql.Add(cmd1);
           ADOQuery1.sql.Add(cmd2);
          ADOQuery1.execsql;
      end;    end;
     begin
      edit1.Clear;
      edit2.Clear;
      edit3.Clear;
      edit4.Clear;
      edit5.Clear;
      edit6.Clear;
      end;          end;

解决方案 »

  1.   

    一次只能执行一个 insert          ADOQuery1.close;
              ADOQuery1.sql.clear;
              ADOQuery1.sql.Add(cmd1);
              ADOQuery1.execsql;          ADOQuery1.close;
              ADOQuery1.sql.clear;
              ADOQuery1.sql.Add(cmd2);
              ADOQuery1.execsql;引号用的有问题
      

  2.   

    mzzhf(大海) 
      引号用的有问题。如何改正!请明示!!!
      

  3.   

    cmd:1= format('insert into ggb 规格 values(''%s'') ',
                   dit5.text+'*'+edit6.text]);这句话的insert语法有误?不知道错在那儿〉?
      

  4.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      a,b,c,d,e,f: Double;
      cmd: String;
    begin
      if not TryStrToFloat(Edit1.Text, a) then
      begin
        showMessage(Edit1.Name + '類型不匹配');
        Edit1.SetFocus;
        exit;
      end;
      if not TryStrToFloat(Edit2.Text, b) then
      begin
        showMessage(Edit2.Name + '類型不匹配');
        Edit2.SetFocus;
        exit;
      end;
      if not TryStrToFloat(Edit3.Text, c) then
      begin
        showMessage(Edit3.Name + '類型不匹配');
        Edit3.SetFocus;
        exit;
      end;
      if not TryStrToFloat(Edit4.Text, d) then
      begin
        showMessage(Edit4.Name + '類型不匹配');
        Edit4.SetFocus;
        exit;
      end;
      if not TryStrToFloat(Edit5.Text, e) then
      begin
        showMessage(Edit5.Name + '類型不匹配');
        Edit5.SetFocus;
        exit;
      end;
      if not TryStrToFloat(Edit6.Text, f) then
      begin
        showMessage(Edit6.Name + '類型不匹配');
        Edit6.SetFocus;
        exit;
      end;  cmd := 'insert into ggb (上月结存,平方数1,本月购入,平方数2,规格)';
      cmd := cmd + ' values(a, b, c, d, e*f)';  ADOQuery1.Close;
      ADOQuery1.SQL.Clear;
      ADOQuery1.SQL.Add(cmd);
      ADOQuery1.ExecSQL;
    end;説明:
    1.数据类型转换时,要判断正确与否。
    2.Insert SQL语句应该合写成一个。
      

  5.   

    cmd:1= format('insert into ggb 规格 values(''%s'') ',
                   dit5.text+'*'+edit6.text]);这句话的insert语法有误?不知道错在那儿〉?
      
    cmd1:=
      

  6.   

    cmd1:=format('''insert into ggb 规格 values(''%s * %s'')''',[edit5.text,edit6.text])
    哈哈,我测试了,没问题了,给分吧。
      

  7.   

    更正:
    cmd := 'insert into ggb (上月结存,平方数1,本月购入,平方数2,规格)';
    cmd := cmd + ' values(' + FloatToStr(a) +','+ FloatToStr(b) +',';
    cmd := cmd + FloatToStr(c) +','+ FloatToStr(d) +','+ FloatToStr(e*f) + ')';ADOQuery1.Close;
    ADOQuery1.SQL.Clear;
    ADOQuery1.SQL.Add(cmd);
    ADOQuery1.ExecSQL;