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

📄 di_newtablename.pas

📁 亚惠快餐管理信息系统 包括亚惠快餐管理的各项功能
💻 PAS
字号:
unit DI_NewTableName;

{
代码单元名称:通用数据登录工具创建库表窗口
从属软件:大连资金清算中心打码机管理信息系统
开发单位:大连理工大学计算机技术研究所软件工程研究室
作者:王树润
时间:2001,1,30
}

interface

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

type
  TDI_DfmNewTableName = class(TForm)
    Label1: TLabel;
    NewTableNameEdit: TEdit;
    ConfirmButton: TButton;
    CloseButton: TButton;
    procedure CloseButtonClick(Sender: TObject);
    procedure ConfirmButtonClick(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    { Private declarations }
  public
    { Public declarations }
    DatabaseName, ServerName, NewTableBackName: string;
    CreateTableSuceed: Boolean;
    constructor Create(Owner: TComponent; ADatabaseName, AserverName: string);
      overload;
  end;

implementation

uses DI_CreateNewTable, DI_DataModul1, PublicUnit;

{$R *.DFM}

//构造函数======================================================================

constructor TDI_DfmNewTableName.Create(Owner: TComponent;
  ADatabaseName, AserverName: string);
begin
  inherited Create(Owner);
  DatabaseName := ADatabaseName;
  ServerName := AServerName;
  CreateTableSuceed := False;
end;

//窗体关闭======================================================================

procedure TDI_DfmNewTableName.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  DI_DfmDataModule1.CreateDTableADOQuery.Close;
  DI_DfmDataModule1.CreateTableADOConnection.Close;
end;

//关闭==========================================================================

procedure TDI_DfmNewTableName.CloseButtonClick(Sender: TObject);
begin
  Close;
end;

//创建新表======================================================================

procedure TDI_DfmNewTableName.ConfirmButtonClick(Sender: TObject);
var
  NewTableName: string;
  DI_DfmCreateNewTable: TDI_DfmCreateNewTable;
  TemporaryTableNames: TStrings;
begin
  if ((Pos(' ', NewTableNameEdit.Text) <> 0) or (Pos('_', NewTableNameEdit.Text)
    <> 0) or (NewTableNameEdit.Text = '')) then
  begin
    ShowMessage('表名不合法,请重新输入!');
    Exit;
  end;
  TemporaryTableNames := TStringList.Create;
  DI_DfmDataModule1.CreateTableADOConnection.Close;
  DI_DfmDataModule1.CreateTableADOConnection.ConnectionString :=
    'Provider=SQLOLEDB.1;Persist Security Info=False;User ID=' +
    PublicUnit.DbUser
    + ';Password=' + PublicUnit.DbPass + ';Initial Catalog=' + PublicUnit.DbName
    +
    ';Data Source=' + PublicUnit.ServerName;
  DI_DfmDataModule1.CreateTableADOConnection.GetTableNames(TemporaryTableNames,
    False);
  if ((TemporaryTableNames.IndexOf('D' + NewTableNameEdit.Text) <> -1) or
    (TemporaryTableNames.IndexOf('T' + NewTableNameEdit.Text) <> -1)) then
  begin
    ShowMessage('该表已经存在,请重新命名!');
    Exit;
  end;
  TemporaryTableNames.Free;
  with DI_DfmDataModule1.CreateDTableADOQuery do
  begin
    Close;
    Sql.Clear;
    Sql.Add('Create Table ' + 'D' + NewTableNameEdit.Text +
      '(FieldId int Not null Identity (1,1) Primary Key,FieldNameE varChar(10),FieldNameC varChar(10),FieldType varChar(20),FieldWidth int,AllowNulls varchar,DefauValue varchar(20),IfIdentity varchar,PrimaryKey varchar)');
    try
      ExecSQL;
    except
      ShowMessage('error');
      Exit;
    end;
  end;
  NewTableName := NewTableNameEdit.Text;
  DI_DfmCreateNewTable := TDI_DfmCreateNewTable.Create(Self, NewTableName,
    DatabaseName);
  DI_DfmCreateNewTable.ShowModal;
  if DI_DfmCreateNewTable.CreateTableSuceed then
    CreateTableSuceed := True;
  NewTableBackName := NewTableName;
  DI_DfmCreateNewTable.Free;
  DI_DfmDataModule1.CreateDTableADOQuery.Close;
  DI_DfmDataModule1.CreateTableADOConnection.Close;
  Close;
end;

end.

⌨️ 快捷键说明

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