![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
У меня на форме есть поля по которым я заполняю базу.Когда добавляю новую строку и начинаю заполнять поля....Эта пустая строка удаляется.
|
|
#2
|
||||
|
||||
|
Ну непонятно же... Спилберг.
|
|
#3
|
|||
|
|||
|
Нажимаю на кнопочку "Добавить"
- DataModule2.ADOTable1.append(добавил новую строку.....) Начинаю заполнять Editы...... Эта новая строка из сетки исчезает..... А на кнопке "Сохранить" стоит код with dataModule2.ADOTable1 do begin edit; fieldbyname('№_человека').AsVariant:=Edit5.Text; fieldbyname('Фамилия').AsString:=Edit10.Text; fieldbyname('Имя').AsString:=Edit9.Text; fieldbyname('Отчество').AsString:=Edit6.Text;(сохр анение) А раз новая строка исчезла, он редактирует предыдущую....... |
|
#4
|
||||
|
||||
|
Вот рабочий примерчик. Попробуйте.
Код:
unit Unit27;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids, DBGrids, DB, DBClient, Mask, DBCtrls;
type
TForm27 = class(TForm)
ClientDataSet1: TClientDataSet;
ClientDataSet1id: TAutoIncField;
ClientDataSet1F1: TStringField;
ClientDataSet1F2: TStringField;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
Button1: TButton;
Button2: TButton;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
Edit1: TEdit;
Edit2: TEdit;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
end;
var
Form27: TForm27;
implementation
{$R *.dfm}
procedure TForm27.Button1Click(Sender: TObject);
begin
ClientDataSet1.Append;
end;
procedure TForm27.Button2Click(Sender: TObject);
begin
ClientDataSet1.FieldValues['F1'] := Edit1.Text;
ClientDataSet1.FieldValues['F2'] := Edit2.Text;
ClientDataSet1.Post;
end;
end.dfm Код:
object Form27: TForm27
Left = 0
Top = 0
Caption = 'Form27'
ClientHeight = 226
ClientWidth = 561
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = []
OldCreateOrder = False
PixelsPerInch = 96
TextHeight = 13
object DBGrid1: TDBGrid
Left = 8
Top = 64
Width = 457
Height = 153
DataSource = DataSource1
TabOrder = 0
TitleFont.Charset = DEFAULT_CHARSET
TitleFont.Color = clWindowText
TitleFont.Height = -11
TitleFont.Name = 'Tahoma'
TitleFont.Style = []
end
object Button1: TButton
Left = 480
Top = 64
Width = 75
Height = 25
Caption = 'New'
TabOrder = 1
OnClick = Button1Click
end
object Button2: TButton
Left = 480
Top = 96
Width = 75
Height = 25
Caption = 'Post'
TabOrder = 2
OnClick = Button2Click
end
object DBEdit1: TDBEdit
Left = 88
Top = 37
Width = 178
Height = 21
DataField = 'F1'
DataSource = DataSource1
TabOrder = 3
end
object DBEdit2: TDBEdit
Left = 272
Top = 37
Width = 177
Height = 21
DataField = 'F2'
DataSource = DataSource1
TabOrder = 4
end
object Edit1: TEdit
Left = 145
Top = 8
Width = 121
Height = 21
TabOrder = 5
Text = 'Edit1'
end
object Edit2: TEdit
Left = 272
Top = 8
Width = 121
Height = 21
TabOrder = 6
Text = 'Edit2'
end
object ClientDataSet1: TClientDataSet
Active = True
Aggregates = <>
Params = <>
Left = 88
Data = {
7E0000009619E0BD0100000018000000030000000000030000007E0002696404
0001000000010007535542545950450200490008004175746F696E6300024631
0100490000000100055749445448020002003200024632010049000000010005
574944544802000200320001000C4155544F494E4356414C5545040001000100
0000}
object ClientDataSet1id: TAutoIncField
DisplayWidth = 12
FieldName = 'id'
end
object ClientDataSet1F1: TStringField
DisplayWidth = 36
FieldName = 'F1'
Size = 50
end
object ClientDataSet1F2: TStringField
DisplayWidth = 34
FieldName = 'F2'
Size = 50
end
end
object DataSource1: TDataSource
DataSet = ClientDataSet1
Left = 128
end
end |
|
#5
|
||||
|
||||
|
Он и будет редактировать текущую запись, у тебя ж в кнопке "Сохранить"- EDIT; Напиши Append - Post и будет счастье...
|
|
#6
|
||||
|
||||
|
Точно, 3 раза просмотрел этот код, а слона-то незаметил.
|
|
#7
|
|||
|
|||
|
Я поставил на кнопку "Сохранить" Append вместо Edit,
Когда я нажал на кнопку "добавить", заполнил всю информацию...то она заполнилась не в ту строку которую я добавил, а в новую, а та осталась пустая......... |
|
#8
|
||||
|
||||
|
Ну вы мой пример-то посмотрите.
Последовательность такая: Append // создается новая запись заполняем ее поля данными Post // записываем данные в БД или если надо редактировать Edit // открывает текущую запись для редактирования заполняем ее поля данными Post // записываем данные в БД |