unit book_note;
interface
uses
System.Drawing, System.Collections, System.ComponentModel,
System.Windows.Forms, System.Data, System.Data.Common,
System.Data.OleDb,
System.Resources, book_dsetUnit,
System.Globalization, SysUtils;
type
Tbook_note = class(System.Windows.Forms.Form)
strict protected
/// <summary>
/// Clean up any resources being used.
/// </summary>
procedure Dispose(Disposing: Boolean); override;
private
{ Private Declarations }
procedure LoadDataSet();
procedure sub_load(v_field: string);
procedure NavFirst;
procedure book_dset_PositionChanged;
procedure visible_control(bval: boolean);
procedure NavigationNL(bval: boolean);
procedure NavigationFP(bval: boolean);
procedure Enabled_CFP(bval: boolean);
procedure Enabled_AMS(bval: boolean);
procedure sub_showphoto;
procedure sub_addphoto;
procedure sub_removephoto;
procedure NavPrev;
procedure NavNext;
procedure NavLast;
procedure sub_add;
procedure sub_modify;
procedure sub_modifyok;
procedure sub_Update;
procedure sub_updateok(v_name:string; v_first: string ;
v_father: string);
procedure UpdateDataSource(ChangedRows:
System.Data.DataSet);
procedure UpdateDataSet;
procedure sub_Cancel;
procedure sub_find;
procedure sub_Searchedit;
procedure Searchedit_cancel;
procedure sub_findok;
procedure sub_print;
public
constructor Create;
class function Showbook_note:
System.Windows.Forms.DialogResult;
class function booknote_type: string;
class function booknote_width: Integer;
class function booknote_left: Integer;
class function booknote_top: Integer;
end;
[assembly: RuntimeRequiredAttribute(TypeOf(Tbook_note))]
implementation
uses
mainform, book_search;
var
vselect1: System.Data.OleDb.OleDbCommand;
vda1: System.Data.OleDb.OleDbDataAdapter;
vdset1: System.Data.DataSet;
mbaddflag: Boolean;
mbeditflag: Boolean;
booknotetype: string;
Selfwidth: Integer;
Selfleft: Integer;
Selftop: Integer;
Windows Form
Designer generated code |
procedure Tbook_note.Dispose(Disposing:
Boolean);
begin
if Disposing then
begin
if Components <> nil then
Components.Dispose();
end;
inherited Dispose(Disposing);
end;
constructor Tbook_note.Create;
begin
inherited Create;
//
// Required for Windows Form Designer support
//
InitializeComponent;
//
// TODO: Add any constructor code after
InitializeComponent call
//
//move
Self.editphoto_photo.Top := -Self.editphoto_photo.Height;
//resize
Self.lblNavLocation.Top := (Self.Panel1.Height -
Self.lblNavLocation.Height) div 2;
Self.lblNavLocation.Left := (((Self.Panel1.Width) div 2)
- Self.lblNavLocation.Width) div 2;
Self.lboperation.Top := (Self.Panel1.Height -
Self.lboperation.Height) div 2;
Self.lboperation.Left := (((Self.Panel1.Width) div 2) -
Self.lboperation.Width) div 2;
try
//load the dataset.
LoadDataSet();
except
on e: InvalidCastException do
// Display error message
System.Windows.Forms.MessageBox.Show(e.Message);
end;
end;
class function Tbook_note.booknote_width: Integer;
begin
Result := Selfwidth;
end;
class function Tbook_note.booknote_left: Integer;
begin
Result := Selfleft;
end;
class function Tbook_note.booknote_top: Integer;
begin
Result := Selftop;
end;
procedure Tbook_note.Tbook_note_Load(sender:
System.Object; e: System.EventArgs);
begin
Selfwidth := Self.Width;
Selfleft := Self.Left;
Selftop := Self.Top;
booknotetype := '';
mbeditflag := False;
mbaddflag := False;
sub_load('name');
sub_load('first');
sub_load('father');
sub_load('city');
sub_load('civil_status');
Self.ltoday.Text := DateTime.Today.ToLongDateString();
NavFirst();
end;
procedure Tbook_note.LoadDataSet();
begin
// Turn off constraint checking before the dataset is
filled.
Self.book_dset1.EnforceConstraints := False;
try
// Open the connection.
self.oleDbConnection1.Open();
// Attempt to fill the dataset through the
OleDbDataAdapter1.
self.OleDbDataAdapter1.Fill(book_dset1);
finally
// Turn constraint checking back on.
self.book_dset1.EnforceConstraints := True;
// Close the connection
self.oleDbConnection1.Close();
end;
end;
//add data to comboboxes
procedure Tbook_note.sub_load(v_field: string);
var
i: Integer;
begin
vselect1 := System.Data.OleDb.OleDbCommand.Create;
vda1 := System.Data.OleDb.OleDbDataAdapter.Create;
vdset1 := System.Data.DataSet.Create;
if (v_field = 'name') then
vselect1.CommandText := 'SELECT DISTINCT Trim(name) AS
vname FROM book WHERE (Trim(name) <> "") ORDER BY
Trim(name)';
if (v_field = 'first') then
vselect1.CommandText := 'SELECT DISTINCT Trim(first_name)
AS vfirst FROM book WHERE (Trim(first_name) <>"")ORDER
BY Trim(first_name)';
if (v_field = 'father') then
vselect1.CommandText := 'SELECT DISTINCT
Trim(father_name) AS vfather FROM book WHERE (Trim(father_name)
<>"")ORDER BY Trim(father_name)';
if (v_field = 'city') then
vselect1.CommandText := 'SELECT DISTINCT Trim(city) AS
vcity FROM book WHERE (Trim(city)<>"")ORDER BY Trim(city)';
if (v_field = 'civil_status') then
vselect1.CommandText := 'SELECT DISTINCT
Trim(civil_status) AS vcivil FROM book WHERE (Trim(civil_status)
<>"")ORDER BY Trim(civil_status)';
vselect1.Connection := Self.OleDbConnection1;
vda1.SelectCommand := vselect1;
vdset1.EnforceConstraints := False;
Try
//Open the connection.
Self.OleDbConnection1.Open();
vda1.Fill(vdset1, 'book');
finally
//Turn constraint checking back on.
vdset1.EnforceConstraints := True;
//Close the connection
Self.OleDbConnection1.Close();
end;
if (vdset1.Tables['book'].Rows.Count > 0) then
begin
for i := 0 to (vdset1.Tables['book'].Rows.Count - 1) do
begin
if (v_field = 'name') then
Self.cmbname.Items.Add(vdset1.Tables['book'].Rows[i]['vname'].ToString().Trim());
if (v_field = 'first') then
Self.cmbfirst_name.Items.Add(vdset1.Tables['book'].Rows[i]['vfirst'].ToString().Trim());
if (v_field = 'father') then
Self.cmbfather_name.Items.Add(vdset1.Tables['book'].Rows[i]['vfather'].ToString().Trim());
if (v_field = 'city') then
Self.cmbcity.Items.Add(vdset1.Tables['book'].Rows[i]['vcity'].ToString().Trim());
if (v_field = 'civil_status') then
Self.cmbcivil_status.Items.Add(vdset1.Tables['book'].Rows[i]['vcivil'].ToString().Trim());
end;
end;
end;
procedure Tbook_note.ToolBar1_ButtonClick(sender:
System.Object; e:
System.Windows.Forms.ToolBarButtonClickEventArgs);
begin
case self.ToolBar1.Buttons.IndexOf(e.button) of
0: NavFirst; //first
1: NavPrev; //preview
end
end;
procedure Tbook_note.ToolBar2_ButtonClick(sender:
System.Object; e:
System.Windows.Forms.ToolBarButtonClickEventArgs);
begin
case self.ToolBar2.Buttons.IndexOf(e.button) of
0: NavNext; //next
1: NavLast; //last
end
end;
procedure Tbook_note.ToolBar3_ButtonClick(sender:
System.Object; e:
System.Windows.Forms.ToolBarButtonClickEventArgs);
begin
case self.ToolBar3.Buttons.IndexOf(e.button) of
0: sub_Add; //add.
end
end;
procedure Tbook_note.ToolBar4_ButtonClick(sender:
System.Object; e:
System.Windows.Forms.ToolBarButtonClickEventArgs);
begin
case self.ToolBar4.Buttons.IndexOf(e.button) of
0: sub_modify; //modify
end
end;
procedure Tbook_note.ToolBar5_ButtonClick(sender:
System.Object; e:
System.Windows.Forms.ToolBarButtonClickEventArgs);
begin
case self.ToolBar5.Buttons.IndexOf(e.button) of
0: sub_Update; //save
end
end;
procedure Tbook_note.ToolBar6_ButtonClick(sender:
System.Object; e:
System.Windows.Forms.ToolBarButtonClickEventArgs);
begin
case self.ToolBar6.Buttons.IndexOf(e.button) of
0: sub_Cancel; //cancel
end
end;
procedure Tbook_note.ToolBar7_ButtonClick(sender:
System.Object; e:
System.Windows.Forms.ToolBarButtonClickEventArgs);
begin
case self.ToolBar7.Buttons.IndexOf(e.button) of
0: sub_find; //search
end
end;
procedure Tbook_note.ToolBar8_ButtonClick(sender:
System.Object; e:
System.Windows.Forms.ToolBarButtonClickEventArgs);
begin
case self.ToolBar8.Buttons.IndexOf(e.button) of
0: sub_print; //print
end
end;
procedure Tbook_note.ToolBar9_ButtonClick(sender:
System.Object; e:
System.Windows.Forms.ToolBarButtonClickEventArgs);
begin
case self.ToolBar9.Buttons.IndexOf(e.button) of
0: Close; //close form
end
end;
//book_note navigation events ...
*****************************
procedure Tbook_note.NavFirst;
begin
self.BindingContext.Item[self.book_dset1, 'book'].Position
:= 0;
Self.book_dset_PositionChanged();
end;
procedure Tbook_note.book_dset_PositionChanged;
label ptbl;
begin
Self.editbirth.Text :=
System.Convert.ToString(Self.DateTime_birth.Value.Month)
+ '/' +
System.Convert.ToString(Self.DateTime_birth.Value.Day) +
'/' +
System.Convert.ToString(Self.DateTime_birth.Value.Year);
Self.lblNavLocation.Text :=
(((System.Convert.ToString(self.BindingContext.Item[self.book_dset1,
'book'].Position + 1)) + ' of ')
+ self.BindingContext.Item[self.book_dset1, 'book'].Count.ToString());
if ((mbaddflag = False) and (mbeditflag = False)) then
begin
visible_control(False);
// Navigation controls enabled
if ((self.BindingContext.Item[self.book_dset1, 'book'].Position
+ 1) = 1) then
if ((mbaddflag = False) and (mbeditflag = False)) then
begin
NavigationFP(False);
NavigationNL(True);
goto ptbl;
end;
if ((self.BindingContext.Item[self.book_dset1, 'book'].Position
+1) = (self.BindingContext.Item[self.book_dset1, 'book'].Count))
then
if ((mbaddflag = False) and (mbeditflag = False)) then
begin
NavigationFP(True);
NavigationNL(False);
goto ptbl;
end
else
begin
NavigationFP(True);
NavigationNL(True);
goto ptbl;
end;
ptbl:
if (Self.ToolBaradd.Enabled = False) then
Enabled_AMS(True);
if (Self.ToolBarsearch.Enabled = False) then
Enabled_CFP(True);
//show photo
sub_showphoto();
Self.lblNavLocation.Focus();
end
else
begin
if ((mbaddflag = True) or (mbeditflag = True)) then
begin
if (mbaddflag = true) then
lboperation.Text := 'add operation';
if (mbeditflag = true) then
Self.lboperation.Text := 'mudify operation';
visible_control(True);
NavigationFP(False);
NavigationNL(False);
Enabled_AMS(False);
Enabled_CFP(False);
//show photo
sub_showphoto();
Self.lblNavLocation.Focus();
exit;
end;
end;
end;
procedure Tbook_note.visible_control(bval: boolean);
begin
Self.cmbname.Visible := bval;
Self.cmbfirst_name.Visible := bval;
Self.cmbfather_name.Visible := bval;
Self.DateTime_birth.Visible := bval;
Self.cmbsex.Visible := bval;
Self.cmbcivil_status.Visible := bval;
Self.cmbcountry.Visible := bval;
Self.cmbcity.Visible := bval;
Self.editname.Visible := not bval;
Self.editfirst_name.Visible := not bval;
Self.editfather_name.Visible := not bval;
Self.editbirth.Visible := not bval;
Self.editcivil_status.Visible := not bval;
Self.editsex.Visible := not bval;
Self.editcountry.Visible := not bval;
Self.editcity.Visible := not bval;
Self.editname.Left := Self.cmbname.Left;
Self.editname.Width := Self.cmbname.Width;
Self.editname.Top := Self.cmbname.Top;
Self.editfirst_name.Left := Self.cmbfirst_name.Left;
Self.editfirst_name.Width := Self.cmbfirst_name.Width;
Self.editfirst_name.Top := Self.cmbfirst_name.Top;
Self.editfather_name.Left := Self.cmbfather_name.Left;
Self.editfather_name.Width := Self.cmbfather_name.Width;
Self.editfather_name.Top := Self.cmbfather_name.Top;
Self.editbirth.Left := Self.DateTime_birth.Left;
Self.editbirth.Width := Self.DateTime_birth.Width;
Self.editbirth.Top := Self.DateTime_birth.Top;
Self.editsex.Left := Self.cmbsex.Left;
Self.editsex.Width := Self.cmbsex.Width;
Self.editsex.Top := Self.cmbsex.Top;
Self.editcivil_status.Left := Self.cmbcivil_status.Left;
Self.editcivil_status.Width :=
Self.cmbcivil_status.Width;
Self.editcivil_status.Top := Self.cmbcivil_status.Top;
Self.editcountry.Left := Self.cmbcountry.Left;
Self.editcountry.Width := Self.cmbcountry.Width;
Self.editcountry.Top := Self.cmbcountry.Top;
Self.editcity.Left := Self.cmbcity.Left;
Self.editcity.Width := Self.cmbcity.Width;
Self.editcity.Top := Self.cmbcity.Top;
end;
procedure Tbook_note.NavigationFP(bval: boolean);
begin
Self.ToolBarfirst.Enabled := bval;
Self.ToolBarpreview.Enabled := bval;
end;
procedure Tbook_note.NavigationNL(bval: boolean);
begin
Self.ToolBarnext.Enabled := bval;
Self.ToolBarlast.Enabled := bval;
end;
procedure Tbook_note.Enabled_AMS(bval: boolean);
begin
Self.ToolBaradd.Enabled := bval;
Self.ToolBarmodify.Enabled := bval;
Self.ToolBarsave.Enabled := not bval;
Self.ToolBarcancel.Enabled := bval;
Self.lblNavLocation.Enabled := bval;
end;
procedure Tbook_note.Enabled_CFP(bval: boolean);
begin
//Self.ToolBarcancel.Enabled := bval;
Self.ToolBarsearch.Enabled := bval;
Self.ToolBarprint.Enabled := bval;
end;
//show photo
procedure Tbook_note.sub_showphoto;
Label PP2;
begin
if (mbaddflag = false) then
begin
if (Self.editphoto_photo.Text.Trim.Length > 0) then
begin
if (SysUtils.FileExists(Self.editphoto_photo.Text.Trim())
= true) then
begin
Self.Panel_photo.BorderStyle := BorderStyle.None;
Self.Pic_photo.Image :=
Image.FromFile(Self.editphoto_photo.Text.Trim());
Self.Pic_photo.Left := (Self.Panel_photo.Width -
Self.Pic_photo.Width) div 2;
Self.Pic_photo.Top := (Self.Panel_photo.Height -
Self.Pic_photo.Height) div 2;
Self.Btnphoto_del.Enabled := false;
Self.Btnphoto_new.Enabled := false;
if (mbeditflag = true) then
begin
Self.Btnphoto_del.Enabled := true;
Self.Btnphoto_new.Enabled := true;
end;
end
else
begin
goto PP2;
end;
end
else
begin
PP2:
Self.Pic_photo.Image := nil; //nothing
Self.Panel_photo.BorderStyle := BorderStyle.FixedSingle;
if (mbeditflag = true) then
begin
Self.Btnphoto_new.Enabled := true;
end
else
begin
Self.Btnphoto_new.Enabled := false;
end;
Self.Btnphoto_del.Enabled := false;
Exit;
end;
end;
end;
procedure Tbook_note.NavPrev;
begin
self.BindingContext.Item[self.book_dset1, 'book'].Position
:= (self.BindingContext.Item[self.book_dset1, 'book'].Position
- 1);
Self.book_dset_PositionChanged();
end;
procedure Tbook_note.NavNext;
begin
self.BindingContext.Item[self.book_dset1, 'book'].Position
:= (self.BindingContext.Item[self.book_dset1, 'book'].Position
+ 1);
Self.book_dset_PositionChanged();
end;
procedure Tbook_note.NavLast;
begin
self.BindingContext.Item[self.book_dset1, 'book'].Position
:= (Self.book_dset1.Tables['book'].Rows.Count - 1);
Self.book_dset_PositionChanged();
end;
//book_note Add event ... *****************************
procedure Tbook_note.sub_add;
begin
Self.cmbname.SelectedIndex := -1;
Self.cmbfirst_name.SelectedIndex := -1;
Self.cmbfather_name.SelectedIndex := -1;
Self.cmbsex.SelectedIndex := -1;
Self.cmbcivil_status.SelectedIndex := -1;
Self.cmbcountry.SelectedIndex := -1;
Self.cmbcity.SelectedIndex := -1;
try
begin
// Clear out the current edits
self.BindingContext.Item[self.book_dset1, 'book'].EndCurrentEdit();
self.BindingContext.Item[self.book_dset1, 'book'].AddNew();
end;
except
on e: InvalidCastException do
// Display error message, if any.
System.Windows.Forms.MessageBox.Show(e.Message);
end;
mbaddflag := True;
//show photo ...
Self.Btnphoto_del.Enabled := false;
Self.Btnphoto_new.Enabled := true;
Self.book_dset_PositionChanged();
end;
//show photo, add or remove/delete photo
'''''''''''''''''''''
procedure Tbook_note.Btnphoto_new_Click(sender:
System.Object; e: System.EventArgs);
begin
if ((mbaddflag = true) or (mbeditflag = true)) then
begin
//OpenFileDialog control, displays the Photo
corresponding and save it ...
sub_addphoto();
end;
end;
//OpenFileDialog control, displays the Photo
corresponding and save it ...
procedure Tbook_note.sub_addphoto;
var
vfilename: string;
begin
Self.OpenFileDialog1.Title := 'Book note, Select
Picture';
Self.OpenFileDialog1.Filter := 'All Files|*.*|JPeg
Image|*.jpg|Bitmap Image|*.bmp|Gif Image|*.gif';
Self.OpenFileDialog1.FilterIndex := 3;
// Show the Dialog, if the user clicked in the dialog
and a picture file was selected, open it.
if (OpenFileDialog1.ShowDialog =
System.Windows.Forms.DialogResult.ok) then
begin
//add record to table per_appphoto
vfilename := OpenFileDialog1.FileName;
Self.Panel_photo.BorderStyle := BorderStyle.None;
Self.Pic_photo.Image :=
Image.FromFile(OpenFileDialog1.FileName);
Self.Pic_photo.Left := (Self.Panel_photo.Width -
Self.Pic_photo.Width) div 2;
Self.Pic_photo.Top := (Self.Panel_photo.Height -
Self.Pic_photo.Height) div 2;
Self.editphoto_photo.Text := vfilename;
Self.Btnphoto_del.Enabled := true;
end;
end;
procedure Tbook_note.Btnphoto_del_Click(sender:
System.Object; e: System.EventArgs);
begin
if(( mbaddflag = true) or (mbeditflag = true)) then
begin
//remove/delete photo and clear the file photo name
corresponding
sub_removephoto();
end;
end;
// remove/delete photo and clear the file photo name
corresponding
procedure Tbook_note.sub_removephoto;
var
response: System.Windows.Forms.DialogResult;
msg_inf: string;
begin
msg_inf := 'are you sure want to remove the photo of - '
+ Self.editfirst_name.Text + ' ' + Self.editname.Text;
response := MessageBox.Show(msg_inf,
mainform.Tmainform.Title, MessageBoxButtons.YesNo,
System.Windows.Forms.MessageBoxIcon.Information);
//Gets the result of the MessageBox display.
if (response = System.Windows.Forms.DialogResult.Yes)
then
begin
//clear photo ...
Panel_photo.BorderStyle := BorderStyle.FixedSingle;
Pic_photo.Image.Dispose();
Pic_photo.Image := nil; //nothing
editphoto_photo.Text := '';
Btnphoto_del.Enabled := false;
Exit;
end;
if (response = System.Windows.Forms.DialogResult.No)
then
begin
Exit;
end;
end;
//book_note Activated event ...
*****************************
//book_note Activated event (responses from book_search
form)
procedure Tbook_note.Tbook_note_Activated(sender:
System.Object; e: System.EventArgs);
begin
if (book_search.Tbook_search.book_findedit_Flag = 'ok')
then
begin
if (booknotetype = 'find') then
begin
sub_findok();
exit;
end;
if (booknotetype = 'edit') then
begin
sub_modifyok();
exit;
end;
end;
if (book_search.Tbook_search.book_findedit_Flag =
'cancel') then
begin
Searchedit_cancel();
exit;
end;
end;
//book_note modify/edit event ...
*****************************
procedure Tbook_note.sub_modify;
begin
booknotetype := 'edit';
mbeditflag := True;
sub_Searchedit();
book_search.Tbook_search.Showbooksearch();
end;
class function Tbook_note.booknote_type: string;
begin
Result := booknotetype;
end;
procedure Tbook_note.Panel12_Paint(sender: System.Object;
e: System.Windows.Forms.PaintEventArgs);
begin
end;
procedure Tbook_note.sub_modifyok;
begin
self.BindingContext.Item[self.book_dset1, 'book'].Position
:= book_search.Tbook_search.book_v_recno;
Self.book_dset_PositionChanged();
Self.cmbname.Text := Self.editname.Text;
Self.cmbfirst_name.Text := Self.editfirst_name.Text;
Self.cmbfather_name.Text := Self.editfather_name.Text;
Self.DateTime_birth.Text := Self.editbirth.Text;
Self.cmbsex.Text := Self.editsex.Text;
Self.cmbcivil_status.Text := Self.editcivil_status.Text;
Self.cmbcountry.Text := Self.editcountry.Text;
Self.cmbcity.Text := Self.editcity.Text;
end;
//book_note update/save event ...
*****************************
procedure Tbook_note.sub_Update;
var
response: System.Windows.Forms.DialogResult;
begin
//convert, comboboxes to textboxes
Self.editname.Text := Self.cmbname.Text;
Self.editfirst_name.Text := Self.cmbfirst_name.Text;
Self.editfather_name.Text := Self.cmbfather_name.Text;
Self.editbirth.Text := Self.DateTime_birth.Text;
Self.editsex.Text := Self.cmbsex.Text;
Self.editcivil_status.Text := Self.cmbcivil_status.Text;
Self.editcountry.Text := Self.cmbcountry.Text;
Self.editcity.Text := Self.cmbcity.Text;
Self.editoriginalfirst_name.Text :=
Self.cmbfirst_name.Text;
Self.editbirth_d.Text :=
System.Convert.ToString(Self.DateTime_birth.Value.Day);
Self.editbirth_m.Text :=
System.Convert.ToString(Self.DateTime_birth.Value.Month);
Self.editbirth_y.Text :=
System.Convert.ToString(Self.DateTime_birth.Value.Year);
if ((mbeditflag = True) or (mbaddflag = True)) then
begin
if ((Self.editname.Text = '') or (Self.editfirst_name.Text
= '') or (Self.editfather_name.Text = '')) then
begin
response := MessageBox.Show('save operation aborted -
name box, first name box or father name box empty(ies)
...', mainform.Tmainform.Title, MessageBoxButtons.YesNo,
System.Windows.Forms.MessageBoxIcon.Information);
if (response = System.Windows.Forms.DialogResult.Yes)
then
exit;
if (response = System.Windows.Forms.DialogResult.No)
then
begin
sub_Cancel();
exit;
end;
end
else
begin
sub_updateok(Self.editname.Text.Trim(),
Self.editfirst_name.Text.Trim(),
Self.editfather_name.Text.Trim());
try
// Attempt to update the datasource.
self.UpdateDataSet;
except
on e: InvalidCastException do
// Display error message, if any.
System.Windows.Forms.MessageBox.Show(e.Message);
end;
mbeditflag := False;
mbaddflag := False;
Self.book_dset_PositionChanged();
end;
end;
end;
//add data to comboboxes
procedure Tbook_note.sub_updateok(v_name:string; v_first:
string ; v_father: string);
var
v_ord: Integer;
begin
vselect1 := System.Data.OleDb.OleDbCommand.Create;
vda1 := System.Data.OleDb.OleDbDataAdapter.Create;
vdset1 := System.Data.DataSet.Create;
vselect1.CommandText := 'SELECT bookid, name, first_name,
originalfirst_name, Photo, father_name FROM book WHERE
((name := "' + v_name + '") And (originalfirst_name :=
"' + v_first + '") And (father_name := "' + v_father +
'")) ORDER BY bookid';
vselect1.Connection := Self.OleDbConnection1;
vda1.SelectCommand := vselect1;
vdset1.EnforceConstraints := False;
Try
//Open the connection.
self.OleDbConnection1.Open();
vda1.Fill(vdset1, 'book');
finally
//Turn constraint checking back on.
vdset1.EnforceConstraints := True;
//Close the connection
self.OleDbConnection1.Close();
end;
if (vdset1.Tables['book'].Rows.Count > 0) then
begin
v_ord := (vdset1.Tables['book'].Rows.Count - 1);
Self.editfirst_name.Text :=
Self.editoriginalfirst_name.Text.Trim() +
System.Convert.ToString(v_ord).Trim();
end;
end;
procedure Tbook_note.UpdateDataSet;
var
objDataSetChanges: System.Data.DataSet;
begin
// Create a new dataset
objDataSetChanges := System.Data.DataSet.Create;;
// Stop any current edits.
self.BindingContext.Item[self.book_dset1,'book'].EndCurrentEdit;
// Get the changes that have been made to the main
dataset.
objDataSetChanges.Merge(self.book_dset1.GetChanges());
// Check to see if any changes have been made.
// Check to see if any changes have been made.
if ((objDataSetChanges <> nil)) then
begin
try
//update method and passing the dataset
self.UpdateDataSource(objDataSetChanges);
book_dset1.Merge(objDataSetChanges);
book_dset1.AcceptChanges();
except
on e: InvalidCastException do
end;
end;
end;
procedure Tbook_note.UpdateDataSource(ChangedRows:
System.Data.DataSet);
begin
try
// The data source only needs to be updated
if ((ChangedRows <> nil)) then
begin
// Open the connection.
self.OleDbConnection1.Open();
// Attempt to update the data source.
self.OleDbDataAdapter1.Update(ChangedRows);
end;
finally
//Close the connection
self.OleDbConnection1.Close();
end;
end;
//book_note Cancel event ...
*****************************
procedure Tbook_note.sub_Cancel;
begin
mbeditflag := False;
mbaddflag := False;
Self.book_dset1.RejectChanges();
self.BindingContext.Item[self.book_dset1, 'book'].CancelCurrentEdit();
Self.book_dset_PositionChanged();
end;
//book_note find/search event ...
*****************************
procedure Tbook_note.sub_find;
begin
booknotetype := 'find';
sub_Searchedit();
book_search.Tbook_search.Showbooksearch();
end;
procedure Tbook_note.sub_Searchedit;
begin
NavigationFP(False);
NavigationNL(False);
Enabled_AMS(False);
Enabled_CFP(False);
Self.ToolBarsave.Enabled := False;
Self.ToolBarcancel.Enabled := False;
end;
procedure Tbook_note.Searchedit_cancel;
begin
mbeditflag := False;
book_dset_PositionChanged();
end;
procedure Tbook_note.sub_findok;
begin
self.BindingContext.Item[self.book_dset1,
'book'].Position :=
book_search.Tbook_search.book_v_recno;
Self.book_dset_PositionChanged();
end;
procedure Tbook_note.sub_print;
begin
end;
end. |