Fix issue #694: Column comment silently deleted after renaming

This commit is contained in:
Ansgar Becker
2008-08-20 19:43:42 +00:00
parent 7799e30c7b
commit b10b464771
2 changed files with 12 additions and 6 deletions

View File

@ -3967,7 +3967,7 @@ procedure TMDIChild.ListColumnsNewText(Sender: TBaseVirtualTree; Node:
PVirtualNode; Column: TColumnIndex; NewText: WideString); PVirtualNode; Column: TColumnIndex; NewText: WideString);
var var
def : TDataSet; def : TDataSet;
sql_update, sql_null, sql_default, sql_extra, DefaultValue : String; sql_update, sql_null, sql_default, sql_extra, sql_comment, DefaultValue : String;
NodeData : PVTreeData; NodeData : PVTreeData;
begin begin
// Try to rename, on any error abort and don't rename ListItem // Try to rename, on any error abort and don't rename ListItem
@ -3978,7 +3978,7 @@ begin
NodeData := ListColumns.GetNodeData(Node); NodeData := ListColumns.GetNodeData(Node);
// Fetch column definition // Fetch column definition
def := GetResults( 'SHOW COLUMNS FROM ' + mask(SelectedTable) + ' LIKE ' + esc(NodeData.Captions[0]), False, False ); def := GetResults( 'SHOW FULL COLUMNS FROM ' + mask(SelectedTable) + ' LIKE ' + esc(NodeData.Captions[0]), False, False );
// Check NOT NULL // Check NOT NULL
sql_null := 'NULL '; sql_null := 'NULL ';
@ -3998,7 +3998,12 @@ begin
// Check extra options (auto_increment) // Check extra options (auto_increment)
sql_extra := ''; sql_extra := '';
if def.FieldByName('Extra').AsString <> '' then if def.FieldByName('Extra').AsString <> '' then
sql_default := ' '+UpperCase(def.FieldByName('Extra').AsString) + ' '; sql_extra := ' '+UpperCase(def.FieldByName('Extra').AsString);
// Comment
sql_comment := '';
if def.FieldByName('Comment').AsWideString <> '' then
sql_comment := ' COMMENT '+esc(def.FieldByName('Comment').AsWideString);
// Concat column definition // Concat column definition
sql_update := 'ALTER TABLE ' + mask(SelectedTable) + sql_update := 'ALTER TABLE ' + mask(SelectedTable) +
@ -4007,7 +4012,8 @@ begin
def.FieldByName('Type').AsString + ' ' + def.FieldByName('Type').AsString + ' ' +
sql_null + sql_null +
sql_default + sql_default +
sql_extra; sql_extra +
sql_comment;
// Cleanup // Cleanup
def.Close; def.Close;

View File

@ -897,7 +897,7 @@ object MainForm: TMainForm
Enabled = False Enabled = False
Hint = 'Edit field properties' Hint = 'Edit field properties'
ImageIndex = 93 ImageIndex = 93
ShortCut = 13 ShortCut = 32781
OnExecute = actEditFieldExecute OnExecute = actEditFieldExecute
end end
object actCreateField: TAction object actCreateField: TAction