КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Data Controls
TDataSet TDataSource (Data Access) Рис. 5 6
ADOTable1, DataSource1, DbGrid1, DbNavigator1
Рис. 5 7
Рис. 58
Microsoft Jet 4.0 OLE DB Provider
TableName ADOTable1
Active
open close DataSet Þ ADOTable1
DataSource
DBGrid
DataField
Рис. 59 TDBNavigator
Редактировать текущую запись (nbEdit) Утвердить результаты изменения записи (nbPost) Отменить изменения в текущей записи (nbCancel) Обновить информацию в наборе данных (nbRefresh) DBNavigatorAll.VisibleButtons := [nbFirst, nbPrior, nbNext, nbLast];
DbNavigator1.VisibleButtons := DbNavigator1.VisibleButtons – [nbDelete];
ConfirmDelete:boolean
Листинг 63 procedure TForm1.TableBeforeDelete (Dataset: TDataset) begin if MessageDlg('Delete This Record?', mtConfirmation, mbYesNoCancel, 0) <> mrYes then Abort; end;
Hints
Листинг 64 Procedure Form1.Button1Click(Sender: TObject); Begin Table1.Last; End;
Рис. 60
DataSet.AutoEdit:Boolean = true
insert
TField
Edit1.Text := Table1.Fields[0].AsString;
Editl.Text := Tablel.FieldByName('ФИО’).AsString;
FieldValues
Table1.FieldValues['Field'] := Edit1.Text;
Table1['ФИО'] := Edit1.Text; Edit1.Text := Table1['ФИО'];
TField
Fields
FieldByName
ObjectTreeView DBGrid
+ DBGrid1 + Columns Поле1 Поле2 … Поле N
PickList
CanModify ReadOnly
DbGrid1.Columns[3].Font.Size:=20; DbGrid1.Columns[1].Font.Color := clRed;
Columns Editor Рис. 61
ADOTable
Fields Editor Рис. 62
Add fields Delete
Form1.<имя переменной>
New field Calculated
OnCalcFields
TDBGrid DataSource
TDBEdit, TDBMemo, TDBRichEdit, TDBText, TDBCheckBox, TDBRadioGroup, TDBListBox,TDBImage DataField
TDBTextAutoSize Wordwrap
Table.First; Table.Next Table.Last Table.Prior
RecNo := 7; RecNo := StrToInt(Edit1.Text); MoveBy(distance: integer):integer
BOF EOF
RecordCount
BeforeScroll AfterScroll
Листинг 65 Var I:integer; S:real; . . . Table1.First; S := 0; For i := 1 to Table1.RecordCount do Begin S := s + Table1.FieldByName('Stipendia').AsFload; Table1.Next; end . . .
Листинг 66 Table1.First; S := 0; While not Table1.EOF do Begin S := s + Table1.FieldByName('Stipendia').AsFload; Table1.Next; end
ADOTable1.Filter:string
<, >, <=, >=, <> +, -, *, / AND, OR, NOT [ ]
ADOTable1.Filtred:boolean
DataSource1.State = dsFilter
Price > 100 and Price < 1500
Price > 100 and Count > 500
Count of …
FilterOptions
foCaseInsensitive:boolean foNoPartialCompare:boolean
Image
AfterScroll
ShawPhoto(Draw)
Рис. 6 3
Листинг 67 type TForm = class(Form) . . . Procedure TableAfterScroll(DataSet:TDataSet); Procedure DbEdit5KeyPress(Sender:TObject; var Key:Char); Procedure DbNavigator1Click(Sender:TObject; Button:TNavigateBtn); . . . var Form1:TForm1; . . . Procedure ShawPhoto(draw:string); Begin try Form1.Image1.Picture.LoadFromFile(draw); Form1.Image1.Visible := true; Except On EFOpenError do Begin MessageDlg('Файл иллюстрации не нейден', mtInformation, [mbOK], 0); Form1.DbEdit5.Text := ''; end end end; Procedure TableAfterScroll(DataSet:TDataSet); begin if Form1.DbEdit5.Visible then begin Form1.DbEdit5.Visible := False; Form1.Label5.Visible := False; end; if Form1.DbEdit5.Text <> '' then ShawPhoto(Form1.DbEdit5.Text) else Form1.Image1.Visible := False; end;
Procedure Form1.DbEdit5KeyPress(Sender:TObject; var Key:Char); begin if key = #13 then if Form1.DbEdit5.Text <> '' then ShawPhoto(Form1.DbEdit5.Text) Else Form1.Image1.Visible := False; end;
Procedure Form1.DbNavigator1Click(Sender:TObject; Button:TNavigateBtn); begin case Button of nbInsert: begin Form1.Image1.Visible := False; Form1.DbEdit5.Visible := true; Form1.Label5.Visible := true; end; nbEdit begin Form1.DbEdit5.Visible := true; Form1.Label5.Visible := true; end; end; end;
ADO ADOQuery
SQL (Structured Query Language)
SELECT <Список выбора> FROM <Источник выбора> [WHERE <Условия отбора>] [GROUP BY <Виды группировки>]
Рис. 64 СТУДЕНТЫ
SELECT ФИО, Семестр, Экзамен1 FROM СТУДЕНТЫ
SELECT ФИО, Семестр, (Экзамен1+ Экзамен2 + Экзамен3)/3 FROM СТУДЕНТЫ
SELECT ФИО, Семестр, (Экзамен1+ Экзамен2 + Экзамен3)/3 AS Средняя оценка FROM СТУДЕНТЫ
SELECT ФИО, Семестр, Средняя оценка = (Экзамен1+ Экзамен2 + Экзамен3)/3 FROM СТУДЕНТЫ
FROM СТУДЕНТЫ SELECT ФИО, Экзамен1, Экзамен2, Экзамен3 FROM СТУДЕНТЫ WHERE Семестр = 3
SELECT ФИО FROM СТУДЕНТЫ WHERE Экзамен2 IS NULL
IS NOT NULL
GROUP BY Семестр
SELECT
¨AVG() ¨ COUNT() ¨ MAX() ¨ MIN() ¨ SUM()
SELECT Семестр, AVG(Экзамен1) FROM СТУДЕНТЫ GROUP BY Семестр
SELECT Семестр, AVG((Экзамен1+ Экзамен2 + Экзамен3)/3) FROM СТУДЕНТЫ GROUP BY Семестр
SQL Builder
|