unit Unit1;interfaceuses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Grids, DBGrids, DB, DBClient, SimpleDS, SqlExpr, MIDASLIB,  DBXpress, ComCtrls;type
  TForm1 = class(TForm)
    SQLConnection1: TSQLConnection;
    SimpleDataSet1: TSimpleDataSet;
    datasource1: TDataSource;
    btnConnect: TButton;
    btnCommit: TButton;
    btnQuery: TButton;
    DBGrid1: TDBGrid;
    lbl1: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Button1: TButton;
    DateTimePicker1: TDateTimePicker;
    procedure btnConnectClick(Sender: TObject);
    procedure btnQueryClick(Sender: TObject);
    procedure btnCommitClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;var
  Form1: TForm1;implementation{$R *.dfm}procedure TForm1.btnQueryClick(Sender: TObject);  // 从STUDENT数据表里提取数据
begin
  if not sqlConnection1.Connected then
  begin
    showmessage('请先连接');
    exit;
  end;  SimpleDataSet1.DataSet.CommandText:='select * from STUDENT';  simpleDataSet1.Open;
end;procedure TForm1.btnCommitClick(Sender: TObject);  // 往STUDENT数据表里插入数据
begin     SimpleDataSet1.DataSet.CommandText:='insert into student (SN,SNAME,BIRTH) values (Edit1.Text,Edit2.Text,DateTimePicker1.date)';
   simpleDataSet1.Open;
begin
  if simpleDataSet1.ApplyUpdates(0)>0 then
    showmessage('提交数据不成功!')
  else
    showmessage('提交数据成功!');
end;
end;procedure TForm1.FormCreate(Sender: TObject);
begin
  if SQLConnection1.Connected=true then
    SQLConnection1.Connected:=false;
  SQLConnection1.Params.Clear;
  SQLConnection1.Params.Values['user_name']:='sysdba';
  SQLConnection1.Params.values['password']:='masterkey';
  sqlConnection1.Params.Values['SQLDialect']:='3';
  SQLConnection1.Params.Values['database']:=extractfilepath(paramstr(0))+'data\demo.fdb';
  SQLConnection1.Connected:=true;
end;

解决方案 »

  1.   

    SimpleDataSet1.DataSet.CommandText错误
    自己ShowMessage看一下就知道了
      

  2.   

    在数据库执行的语句是这个'insert into student (SN,SNAME,BIRTH) values (Edit1.Text,Edit2.Text,DateTimePicker1.date)'
    肯定不对``
      

  3.   

    这样一来连编译都通不过了。procedure TForm1.btnQueryClick(Sender: TObject);
    begin
      if not sqlConnection1.Connected then
      begin
        showmessage('请先连接');
        exit;
      end;
        SimpleDataSet1.DataSet.CommandText.clear;  //清除CommandText中原来的内容
      SimpleDataSet1.DataSet.CommandText:='select * from STUDENT';  simpleDataSet1.Open;
    end;procedure TForm1.btnCommitClick(Sender: TObject);
    begin
       SimpleDataSet1.DataSet.CommandText.clear;   //清除CommandText中原来的内容
       SimpleDataSet1.DataSet.CommandText:='insert into student (SN,SNAME,BIRTH) values (Edit1.Text,Edit2.Text,DateTimePicker1.date)';
       simpleDataSet1.Open;
    begin
      if simpleDataSet1.ApplyUpdates(0)>0 then
        showmessage('提交数据不成功!')
      else
        showmessage('提交数据成功!');
    end;
    end;
    [Error] Unit1.pas(63): Record, object or class type required
    [Error] Unit1.pas(71): Record, object or class type required
    [Fatal Error] Project7.dpr(5): Could not compile used unit 'Unit1.pas'