1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
|
implementation
{$R *.dfm}
procedure TForm3.Button1Click(Sender: TObject);
var
i_row : integer;
begin
//
with view1.DataController do
begin
recordCount := 0;
with OraQuery1 do
begin
close;
SQL.Clear;
SQL.Add('SELECT * FROM TEST');
open;
first;
while not eof do
begin
i_row := view1.DataController.appendrecord;
values[i_row,0] := FieldByName('dep_id').AsString;
values[i_row,1] := FieldByName('emp_id').AsString;
values[i_row,2] := FieldByName('emp_name').AsString;
values[i_row,3] := FieldByName('emp_tel').AsString;
next;
end;
end;
end;
end;
procedure TForm3.Button2Click(Sender: TObject);
begin
view1.DataController.AppendRecord;
end;
procedure TForm3.Button3Click(Sender: TObject);
var
num : integer;
begin
num := view1.DataController.FocusedRecordIndex;
with OraQuery1 do
begin
close;
SQL.Clear;
SQL.Add('DELETE FROM TEST');
SQL.Add('WHERE EMP_ID = :EMP_ID');
ParamByName('EMP_ID').AsString := view1.DataController.Values[num, 1];
ExecSQL;
end;
Button1Click(nil);
// ShowMessage(IntToStr(num));
//ShowMessage(view1.DataController.Values[num, 1]);
end;
procedure TForm3.Button4Click(Sender: TObject);
var
iRow : Integer;
begin
for iRow := 0 to view1.DataController.RecordCount-1 do
begin
with Oraquery1 do
begin
close;
SQL.Clear;
SQL.Add('SELECT * FROM TEST');
SQL.Add('WHERE EMP_ID = :EMP_ID');
ParamByName('EMP_ID').AsString := VIEW1.DataController.Values[IROW,1];
open;
if eof then
begin
close;
SQL.Clear;
SQL.Add('INSERT INTO TEST(DEP_ID, EMP_ID, EMP_NAME, EMP_TEL)');
SQL.ADD(' VALUES(:DEP_ID, :EMP_ID, :EMP_NAME, :EMP_TEL)');
ParamByName('DEP_ID').AsString := VIEW1.DataController.Values[IROW,0];
ParamByName('EMP_ID').AsString := VIEW1.DataController.Values[IROW,1];
ParamByName('EMP_NAME').AsString := VIEW1.DataController.Values[IROW,2];
ParamByName('EMP_TEL').AsString := VIEW1.DataController.Values[IROW,3];
EXECSQL;
end
else
begin
close;
SQL.Clear;
SQL.Add('UPDATE TEST SET EMP_NAME = :EMP_NAME, EMP_TEL = :EMP_TEL');
SQL.Add('WHERE EMP_ID = :EMP_ID');
ParamByName('EMP_ID').AsString := VIEW1.DataController.Values[IROW,1];
ParamByName('EMP_NAME').AsString := VIEW1.DataController.Values[IROW,2];
ParamByName('EMP_TEL').AsString := VIEW1.DataController.Values[IROW,3];
EXECSQL;
end;
end;
end;
end;
end.
|