要要个源代码,

解决方案 »

  1.   

    rocedure TNewF.InsBook(Code: string);
    var
      Query : TQuery;
    begin
      Query := TQuery.Create(nil);
      Query.DatabaseName := DBName;
      Query.SQL.Add('insert into book(Code,Name,Class,Author,Concern,OutDate,Cost,Memo)'+
                    ' values (:Code,:Name,:Class,:Author,:ConCern,:OutDate,:Cost,:Memo)');
      Query.ParamByName('Code').AsString := Code;
      Query.ParamByName('Name').AsString := NameEdit.Text;
      Query.ParamByName('Class').AsString := ComboBox1.Items[ComboBox1.ItemIndex];
      Query.ParamByName('Author').AsString := AuthorEdit.Text;
      Query.ParamByName('Concern').AsString := ConcernEdit.Text;
      try
        Query.ParamByName('OutDate').AsDateTime := StrToDate(OutTimeEdit.Text);
      except
        MessageDlg('参数<出版时间>设置错误',mtError,[mbok],0);
        Query.Free;
        Exit;
      end;
      try
        Query.ParamByName('Cost').AsFloat := StrToFloat(CostEdit.Text);
      except
        MessageDlg('参数<价格>设置错误',mtError,[mbok],0);
        Query.Free;
        Exit;
      end;
      Query.ParamByName('Memo').AsString := Memo1.Lines.GetText;
      Query.ExecSQL;
      Query.Free;
    end;
    你在access数据库里,建一个表,和我上面的字段对应,再用,ADO 和这个表相连,也可以动态连,
    如果你想试一试,就手动连,然后,执行上面的语句就可以把相应的内容写到库里,
      

  2.   

    procedure TNewF.Button1Click(Sender: TObject);
    begin
      if Length(CodeEdit.Text)<> CodeLength then
      begin
        MessageDlg('书号不正确',mtError,[mbok],0);
        CodeEdit.SetFocus;
        Exit;
      end;
      if CheckExistCode(CodeEdit.Text) then
      begin
        MessageDlg('书号<'+CodeEdit.Text+'>已经存在',mtError,[mbok],0);
        CodeEdit.SetFocus;
        Exit;
      end;
      try
        InsBook(CodeEdit.Text);
        Init;
      except
        MessageDlg('入库出错',mtError,[mbok],0);
      end;
    end;调用这个函数的语句,也就是提交时,调用.
      

  3.   

    var
      Query : TQuery;
    begin
      Query := TQuery.Create(nil);
      Query.DatabaseName := DBName;
      Query.SQL.Add('insert into book(Code,Name,Class,Author,Concern,OutDate,Cost,Memo)'+
                    ' values (:Code,:Name,:Class,:Author,:ConCern,:OutDate,:Cost,:Memo)');
      Query.ParamByName('Code').AsString := Code;
      Query.ParamByName('Name').AsString := NameEdit.Text;
      Query.ParamByName('Class').AsString := ComboBox1.Items[ComboBox1.ItemIndex];
      Query.ParamByName('Author').AsString := AuthorEdit.Text;
      Query.ParamByName('Concern').AsString := ConcernEdit.Text;
      try
        Query.ParamByName('OutDate').AsDateTime := StrToDate(OutTimeEdit.Text);
      except
        MessageDlg('設置錯誤',mtError,[mbok],0);
        Query.Free;
        Exit;
      end;
      try
        Query.ParamByName('Cost').AsFloat := StrToFloat(CostEdit.Text);
      except
        MessageDlg('設置錯誤',mtError,[mbok],0);
        Query.Free;
        Exit;
      end;
      Query.ParamByName('Memo').AsString := Memo1.Lines.GetText;
      Query.ExecSQL;
      Query.Free;
    end;
      

  4.   

    与sql一样,只是换一下连接方式