Сортировка И Добавление Записей Delphi 7

Тема в разделе "Delphi - Базы данных", создана пользователем lurnette, 6 июн 2013.

  1. lurnette

    lurnette New Member

    Регистрация:
    6 июн 2013
    Сообщения:
    1
    Симпатии:
    0
    Всем доброго времени суток

    Пишу курсовую, завтра сдавать, а преподаватель в последний момент потребовал все переделать

    Смысл такой: есть БД в Access, в ней 7 связанных таблиц, и программа на Delphi 7, через ADO все подключается, на форме выводятся через ADOQuery частично записи из всех таблиц

    Нужно реализовать сортировку записей по выбранным полям, а также возможность добавления новой записи, при чем добавляться, я так понимаю, запись должна сразу во все связанные таблицы

    Ниже представлен код

    Очень надеюсь на вашу помощь

    Код (Delphi):
    unit Unit1;
    interface
    uses
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    Dialogs, ExtCtrls, DBCtrls, Grids, DBGrids, DB, ADODB, StdCtrls,
    RpRenderPDF, RpRenderHTML, RpRenderRTF, RpRender, RpRenderText, RpBase,
    RpFiler, RpCon, RpConDS, RpDefine, RpRave;
    type
    TForm1 = class(TForm)
    ADOConnection1: TADOConnection;
    DataSource1: TDataSource;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Button5: TButton;
    Label1: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    CheckBox1: TCheckBox;
    CheckBox2: TCheckBox;
    CheckBox3: TCheckBox;
    CheckBox4: TCheckBox;
    CheckBox5: TCheckBox;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    Edit5: TEdit;
    Edit6: TEdit;
    Memo1: TMemo;
    RadioButton1: TRadioButton;
    RadioButton2: TRadioButton;
    RadioButton3: TRadioButton;
    RadioButton4: TRadioButton;
    DBNavigator1: TDBNavigator;
    RvProject1: TRvProject;
    RvDataSetConnection1: TRvDataSetConnection;
    RvRenderPDF1: TRvRenderPDF;
    RvRenderHTML1: TRvRenderHTML;
    RvRenderRTF1: TRvRenderRTF;
    RvRenderText1: TRvRenderText;
    Label2: TLabel;
    DBGrid1: TDBGrid;
    ADOQuery1: TADOQuery;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);

    private
    { Private declarations }
    public tb:TGraphicField;
    { Public declarations }
    end;
    var
    Form1: TForm1;
    implementation
    uses Unit2;
    {$R *.dfm}
    procedure TForm1.Button1Click(Sender: TObject);
    var field:string;
    fieldlocate:string;
    begin
    if ADOQuery1.Locate('Название',variant(edit1.Text),[])
    then Dbgrid1.SetFocus;
    if ADOQuery1.Locate('Имя',variant(edit2.Text),[])
    then Dbgrid1.SetFocus;
    if ADOQuery1.Locate('Фамилия',variant(edit3.Text),[])
    then Dbgrid1.SetFocus;
    if ADOQuery1.Locate('Жанр',variant(edit4.Text),[])
    then Dbgrid1.SetFocus;
    if ADOQuery1.Locate('Издательство',variant(edit5.Text),[])
    then Dbgrid1.SetFocus;
    if checkbox1.Checked then
    begin
    field:='Название'; fieldlocate:='edit1.text'
    end
    else if checkbox2.Checked then
    begin
    field:='Имя'; fieldlocate:='edit2.text';
    end
    else if checkbox3.Checked then
    begin
    field:='Фамилия'; fieldlocate:='edit3.text';
    end
    else if checkbox3.Checked then
    begin
    field:='Жанр'; fieldlocate:='edit4.text';
    end
    else if checkbox3.Checked then
    field:='Издательство'; fieldlocate:='edit5.text';
    if ADOQuery1.Locate(field,variant(fieldlocate),[])
    then Dbgrid1.SetFocus;
    end;
    procedure TForm1.Button2Click(Sender: TObject);
    var LookupResult:variant;
    i:integer;
    begin
    memo1.Lines.Add('');
    LookupResult:=ADOQuery1.Lookup(
    'Название',variant(edit6.Text),'Имя;Фамилия;Жанр;Издание;');
    if VarType(LookupResult)=varNull then
    showMessage('Запись не найдена! ' +edit6.Text)
    else if varIsArray(LookupResult) then
    begin
    for I := 0 to 3 do
    memo1.Lines.Add(lookupresult[I]);
    end;
    end;
    procedure TForm1.Button3Click(Sender: TObject);
    begin
    Form2.show
    end;
    procedure TForm1.Button4Click(Sender: TObject);
    begin
    RvProject1.SetProjectFile(ExtractFilePath(Application.ExeName)+'Project1.rav');
    RvProject1.ExecuteReport('Report1');
    RvProject1.Close;
    end;
    procedure TForm1.Button5Click(Sender: TObject); // как видите, здесь я уже попыталась осуществить сортировку, только вот при нажатии на кнопку ничего не происходит
    begin
    if radiobutton1.Checked then
    begin ADOQuery1.SQL.Add('order by ID'); ADOQuery1.Open;
    end;
    if radiobutton2.Checked then
    begin ADOQuery1.SQL.Add('order by Название'); ADOQuery1.Open;
    end;
    if radiobutton3.Checked then
    begin ADOQuery1.SQL.Add('order by Имя'); ADOQuery1.Open;
    end;
    if radiobutton4.Checked then
    begin ADOQuery1.SQL.Add('order by Фамилия'); ADOQuery1.Open;
    end;
    end;
    end.
     
Загрузка...
Похожие Темы - Сортировка Добавление Записей
  1. vera2014
    Ответов:
    0
    Просмотров:
    1.071
  2. Liori
    Ответов:
    2
    Просмотров:
    1.005
  3. FCDK
    Ответов:
    0
    Просмотров:
    1.264
  4. ленарано
    Ответов:
    1
    Просмотров:
    1.103
  5. Creder
    Ответов:
    0
    Просмотров:
    1.345

Поделиться этой страницей