در بانك SQL حالتAlloNullsرا براي فيلد شماره كارمندي فعال مي كنم اگر فاصله خالي بزنم امکان ذخیره ندهد
سلام
ضمنا من با ADO دلفي 7 به SQL server 2000 وصل مي شوم.
من دستور زير را در رويداد BeforePost نوشتم كه اولا : باگ ذخيره نشدن DBCombobox درست شود كه اين عالي كار مي كند.
ثانيا: فاصله هاي خالي تايپ شده حذف كند.
حال من كه در بانك SQL حالت AlloNulls را براي فيلد شماره كارمندي فعال مي كنم اگر فاصله خالي يك يا چندتا بزنم مي گيرد و خطاي AlloNulls مخصوص SQL Server كه جلوي ذخيره يك ركورد بدون شماره كارمندي را نمي دهد!
procedure TMainForm.ADOTable1BeforePost(DataSet: TDataSet);
begin
with DynamicForm do
begin
Fixed bug do not save when open photo,...for DBCombobox
for i := 0 To ComponentCount-1 Do
begin
If Components[i] is TDBCombobox Then
If not( TDBCombobox(Components[i]).Field.IsNull ) Then
TDBCombobox(Components[i]).Field.Value := Trim(TDBCombobox(Components[i]).Text);
If Components[i] is TDBEdit Then
If not( TDBEdit(Components[i]).Field.IsNull ) Then
TDBEdit(Components[i]).Field.Text := Trim(TDBEdit(Components[i]).Text);
//If Components[i] is TDBMemo Then //!!! Because often show Access Violation error
//TDBMemo(Components[i]).Field.Text := Trim(TDBMemo(Components[i]).Text);
end;// end for
end;//end with
end;
نقل قول: در بانك SQL حالتAlloNullsرا براي فيلد شماره كارمندي فعال مي كنم اگر فاصله خالي بزنم امکان ذ
فكر كنم ميتوني خيلي راحت تر از DBMaskEdit استفاده كني و اين همه الاف كد نشي
در ضمن شما وقتي فضاي خالي ميزني تو ديتابيس به عنوان عدد ذخيره نميشه پس در نتيجه Null دخيره ميشه
نقل قول: در بانك SQL حالتAlloNullsرا براي فيلد شماره كارمندي فعال مي كنم اگر فاصله خالي بزنم امکان ذ
نقل قول:
نوشته شده توسط
DataMaster
فكر كنم ميتوني خيلي راحت تر از DBMaskEdit استفاده كني و اين همه الاف كد نشي
در ضمن شما وقتي فضاي خالي ميزني تو ديتابيس به عنوان عدد ذخيره نميشه پس در نتيجه Null دخيره ميشه
سلام
If not( TDBCombobox(Components[i]).Field.IsNull ) Then
همانطور كه قبلا گفتم با دستور بالا جلوي ذخيره Null را به خوبي مي گيرد.
اگر كاربر يك يا چند فاصله خالي تايپ كند آن فاصله خالي ذخيره مي شود كه نمي نمي خواهم ذخيره شود!