📄 di_newtablename.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 + -