with DM.ADOQuery3 do
  begin
  close;
  sql.Clear;
  SQL.Add('INSERT INTO users (姓名,性别,年龄,学厉,毕业时间)');
  SQL.Add('Values("'+edit1.Text+'","'+ComboBox2.Text+'","'+edit2.Text+'","'+ComboBox3.Text+'","'+FormatDateTime('yyyy-MM-dd',DateTimePicker1.Date)+'"');
  execsql;
  end;
  ShowMessage('保存成功!~~!');
    edit1.Clear;
    combobox2.Clear;
    combobox3.Clear;
    edit2.Clear;
end;
提示我运行INSERT INTO的语法错误,是哪里的原因,高手们指点一下了!

解决方案 »

  1.   

    SQL.Add('Values("'+edit1.Text+'","'+ComboBox2.Text+'","'+edit2.Text+'","'+ComboBox3.Text+'","'+FormatDateTime('yyyy-MM-dd',DateTimePicker1.Date)+'")'); 这样试试
      

  2.   

    不能用双引号....如果你希望ComboBox2.Text这样的子串两边带单引号,可以用quotedstr(ComboBox2.Text)返回...也可以这样: .... ',' + #39 + combobox2.Text +#39 + ','.....
      

  3.   

    我用SQL.Add('Values("'+edit1.Text+'","'+ComboBox2.Text+'","'+edit2.Text+'","'+ComboBox3.Text+'");这个语句就可以保存,一加上","'+FormatDateTime('yyyy-MM-dd',DateTimePicker1.Date)+'"就不行了,应该是时间上的事,但我不知道错在哪里了,请大家帮忙啊!