⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 delfield.pas

📁 domain3.2 SQL注入漏洞扫描 旁注 上传功能 数据库浏览
💻 PAS
字号:
{##########################################
         旁注入侵专用程序 3.0升级版
 ----------------------------------------
  模块:数据库浏览 - 删除字段
  描述:该单元主要用于删除
  作者:2005.4.2日中午  明小子
##########################################}

unit DelField;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls, RzLstBox;

type
  TDelFieldForm = class(TForm)
    Label2: TLabel;
    CbTable: TComboBox;
    StatusBar1: TStatusBar;
    Label1: TLabel;
    Button1: TButton;
    Button2: TButton;
    FieldLsb: TRzListBox;
    procedure FormShow(Sender: TObject);
    procedure CbTableChange(Sender: TObject);
    procedure CbTableKeyPress(Sender: TObject; var Key: Char);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  DelFieldForm: TDelFieldForm;

implementation

uses MainUnit;

{$R *.dfm}

procedure TDelFieldForm.FormShow(Sender: TObject);
var
  i: integer;
begin
  if MainForm.TableTree.Items.Count = 0 then Exit;
  CbTable.Clear;
  for i := 0 to MainForm.TableTree.Items.Count - 1 do
    CbTable.Items.Add(MainForm.TableTree.Items[i].Text);
  CbTable.ItemIndex := 0;
  try
    FieldLsb.Clear;
    MainForm.ADOQuery1.Close;
    MainForm.ADOQuery1.SQL.Text := 'select * from ' + CbTable.Text;
    MainForm.ADOQuery1.Open;
    for i := 0 to MainForm.ADOQuery1.FieldCount - 1 do
      FieldLsb.Items.Add(MainForm.ADOQuery1.Fields[i].FieldName);
  except
  end;
end;

procedure TDelFieldForm.CbTableChange(Sender: TObject);
var
  i: integer;
begin
  try
    FieldLsb.Clear;
    MainForm.ADOQuery1.Close;
    MainForm.ADOQuery1.SQL.Text := 'select * from ' + CbTable.Text;
    MainForm.ADOQuery1.Open;
    for i := 0 to MainForm.ADOQuery1.FieldCount - 1 do
      FieldLsb.Items.Add(MainForm.ADOQuery1.Fields[i].FieldName);
  except
  end;
end;

procedure TDelFieldForm.CbTableKeyPress(Sender: TObject; var Key: Char);
begin
  key := #0;
end;

procedure TDelFieldForm.Button1Click(Sender: TObject);
begin
  if CbTable.Text = '' then Exit;
  if FieldLsb.ItemIndex = -1 then
  begin
    application.MessageBox('请先选择你所要删除的字段!', '提示', 64);
    exit;
  end;
  try
    if application.MessageBox('你确定要删除该字段吗?', '提示', 32 + MB_YESNO) = 6 then
    begin
      MainForm.ADOQuery1.Close;
      MainForm.ADOQuery1.SQL.Text := 'alter table ' + CbTable.Text + ' drop column ' + FieldLsb.Items[FieldLsb.Itemindex];
      MainForm.ADOQuery1.ExecSQL;
      StatusBar1.Panels[0].Text := '操作成功,该字段已被删除!';
      MainForm.FieldsTree.Items.Clear;
    end;
  except
    StatusBar1.Panels[0].Text := '操作失败,该字段无法删除!';
  end;
end;

procedure TDelFieldForm.Button2Click(Sender: TObject);
begin
  Close;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -