?? addfield.pas
字號:
{##########################################
旁注入侵專用程序 3.0升級版
----------------------------------------
模塊:數據庫瀏覽 - 添加字段
描述:該單元主要用于增加數據字段
作者:2005.4.2日凌晨 明小子
##########################################}
unit AddField;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls, Spin;
type
TAddFieldForm = class(TForm)
EdFieldName: TEdit;
Label1: TLabel;
CbTable: TComboBox;
Label2: TLabel;
Label3: TLabel;
CbFieldType: TComboBox;
Button1: TButton;
Button2: TButton;
StatusBar1: TStatusBar;
SpinEdit1: TSpinEdit;
Label4: TLabel;
ChkBox: TCheckBox;
CbInt: TComboBox;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure CbFieldTypeChange(Sender: TObject);
procedure CbTableKeyPress(Sender: TObject; var Key: Char);
procedure SpinEdit1KeyPress(Sender: TObject; var Key: Char);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
AddFieldForm: TAddFieldForm;
implementation
uses MainUnit;
{$R *.dfm}
procedure TAddFieldForm.Button1Click(Sender: TObject);
var
TypeStr, TypeInt: string;
i: integer;
begin
if Trim(CbTable.Text) = '' then Exit;
if Trim(EdFieldName.Text) = '' then
begin
application.MessageBox('請先設置字段名!','提示',32);
Exit;
end;
MainForm.ADOQuery1.Close;
if (CbFieldType.ItemIndex = 0) or (CbFieldType.Text = '文本') then
begin
if ChkBox.Checked then
MainForm.ADOQuery1.SQL.Text := 'alter table ' + CbTable.Text + ' add column ' +
EdFieldName.Text + ' string(' + inttostr(SpinEdit1.Value) + ') NOT NULL'
else
MainForm.ADOQuery1.SQL.Text := 'alter table ' + CbTable.Text + ' add column ' +
EdFieldName.Text + ' string(' + inttostr(SpinEdit1.Value) + ')';
end;
if (CbFieldType.ItemIndex = 1) or (CbFieldType.ItemIndex = 3) or (CbFieldType.ItemIndex = 4) then
begin
if CbFieldType.ItemIndex = 1 then TypeStr := 'memo';
if CbFieldType.ItemIndex = 3 then TypeStr := 'Currency'; {貨幣}
if CbFieldType.ItemIndex = 4 then TypeStr := 'time';
if ChkBox.Checked then
MainForm.ADOQuery1.SQL.Text := 'alter table ' + CbTable.Text + ' add column ' +
EdFieldName.Text + ' ' + TypeStr + ' NOT NULL'
else
MainForm.ADOQuery1.SQL.Text := 'alter table ' + CbTable.Text + ' add column ' +
EdFieldName.Text + ' ' + TypeStr;
end;
if CbFieldType.ItemIndex = 2 then
begin
if CbInt.ItemIndex = 0 then TypeInt := 'byte';
if (CbInt.ItemIndex = 1) or (CbInt.Text = '長整型') then TypeInt := 'long';
if CbInt.ItemIndex = 2 then TypeInt := 'single';
if CbInt.ItemIndex = 3 then TypeInt := 'double';
if ChkBox.Checked then
MainForm.ADOQuery1.SQL.Text := 'alter table ' + CbTable.Text + ' add column ' +
EdFieldName.Text + ' ' + TypeInt + ' NOT NULL'
else
MainForm.ADOQuery1.SQL.Text := 'alter table ' + CbTable.Text + ' add column ' +
EdFieldName.Text + ' ' + TypeInt;
end;
if CbFieldType.ItemIndex = 5 then {自動編號}
MainForm.ADOQuery1.SQL.Text := 'alter table ' + CbTable.Text + ' add column ' +
EdFieldName.Text + ' counter';
try
MainForm.ADOQuery1.ExecSQL;
StatusBar1.Panels[0].Text := '操作成功,字段已添加完畢!';
except
StatusBar1.Panels[0].Text := '操作失敗,數據表中已存在該字段!';
end;
end;
procedure TAddFieldForm.Button2Click(Sender: TObject);
begin
close;
end;
procedure TAddFieldForm.CbFieldTypeChange(Sender: TObject);
begin
if CbFieldType.Itemindex = 0 then
SpinEdit1.Enabled := True
else
SpinEdit1.Enabled := False;
if CbFieldType.Itemindex = 2 then
begin
SpinEdit1.Visible := False;
CbInt.Visible := True
end
else
begin
CbInt.Visible := False;
SpinEdit1.Visible := True;
end;
end;
procedure TAddFieldForm.CbTableKeyPress(Sender: TObject; var Key: Char);
begin
key := #0;
end;
procedure TAddFieldForm.SpinEdit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in ['0'..'9', #8]) then
key := #0;
end;
procedure TAddFieldForm.FormShow(Sender: TObject);
var
i: integer;
begin
if MainForm.TableTree.Items.Count = 0 then Exit;
CbTable.Clear;
EdFieldName.Clear;
for i:= 0 to MainForm.TableTree.Items.Count - 1 do
CbTable.Items.Add(MainForm.TableTree.Items[i].Text);
CbTable.ItemIndex := 0;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -