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

📄 frmlogin.~cpp

📁 数据库后台管理工具
💻 ~CPP
📖 第 1 页 / 共 3 页
字号:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop
#include "Frmlogin.h"
#include <Registry.hpp>
#include "Frmtools.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TLogin *Login;
//---------------------------------------------------------------------------
__fastcall TLogin::TLogin(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TLogin::BitBtn2Click(TObject *Sender)
{
  Close();
     
}
//---------------------------------------------------------------------------


void __fastcall TLogin::FormActivate(TObject *Sender)
{
Edit1->SetFocus();
}
//---------------------------------------------------------------------------

void __fastcall TLogin::FormCreate(TObject *Sender)
{
   char Name[128];
   char ComputerName[255];
   DWORD size = 255;
   AnsiString servername;
   String strpath;
   AnsiString AppPath = ExtractFilePath(Application->ExeName);
   strpath= AppPath +"YDLOGIN.INI";
   GetComputerName(ComputerName, &size);
   GetPrivateProfileString(
         "YDLOGIN", 			// []中节的名称
         "SERVERNAME",         			// =号前的键名
         "",          				// 如果没有找到字符串时,返回Nil
         Name,           			// 存放取得字符串
         100,     		        	// 取得字符的允许最大长度
         strpath.c_str()		// .INI文件名
      );
   servername=Name;
   if (servername!="")Edit3->Text=Name;
   else Edit3->Text=ComputerName;
   GetPrivateProfileString(
         "YDLOGIN", 			// []中节的名称
         "USERNAME",         			// =号前的键名
         "",          				// 如果没有找到字符串时,返回Nil
         Name,           			// 存放取得字符串
         100,     		        	// 取得字符的允许最大长度
         strpath.c_str()		// .INI文件名
      );
  Edit2->Text=Name;

}
//---------------------------------------------------------------------------

void __fastcall TLogin::BitBtn1Click(TObject *Sender)
{
    TStringList *MyList=new TStringList();
    try
    {
     MyList->Add("ENABLE BCD=TRUE");
     MyList->Add("DATABASE NAME=master");
     MyList->Add("SERVER NAME="+Edit3->Text);
     MyList->Add("USER NAME="+Edit2->Text);
     MyList->Add("PASSWORD="+Edit1->Text);
     Session->AddAlias("ydls", "MSSQL", MyList);
     Session->SaveConfigFile();
    }
    catch (...)
     {
      MessageBox(NULL,"MSSQL Server数据库服务器尚未安装或启动!","提示",MB_OK|MB_ICONWARNING);
      Session->DeleteAlias("ydls"); //删除BDE别名
      Session->SaveConfigFile();
      delete MyList;
      return;
     }
    TDatabase *database1=new TDatabase(this); //创建数据库
    try
     {
      database1->AliasName="ydls";
      database1->DatabaseName="ydls";
      database1->LoginPrompt=false;
      database1->Params->Add("USER NAME="+Edit2->Text);
      database1->Params->Add("PASSWORD="+Edit1->Text);
      database1->Open();
      TTable *table1=new TTable(this);
      table1->DatabaseName="ydls";
      table1->TableName="sysdatabases";
      table1->Open();
      table1->First();
      int ydb=0;
      AnsiString sqlpa="";
      while (!table1->Eof)
        {
         if (table1->FieldByName("name")->AsString=="master")
           {
            sqlpa=table1->FieldByName("filename")->AsString;
            sqlpa=sqlpa.SubString(1,sqlpa.AnsiPos(".")-7);
           }
         if (table1->FieldByName("name")->AsString=="Yddb")
          {
            ydb=1;
//            break;
           }
         table1->Next();
        }
     if (ydb==0)
      {
        AnsiString SQLstmt;
  //      SQLstmt="USE master";
        SQLstmt=SQLstmt+"create database Yddb ";
        SQLstmt=SQLstmt+"on primary(name=Yddb_data,filename='"+sqlpa+"Yddb.mdf',";
        SQLstmt=SQLstmt+"size=15MB,MAXSIZE=100MB,filegrowth=10%) ";
        SQLstmt=SQLstmt+"log on (name=Yddb_log,filename='"+sqlpa+"Yddb.ldf',";
        SQLstmt=SQLstmt+"size=3MB,MAXSIZE=10MB,filegrowth=1MB)";
        database1->Execute(SQLstmt, NULL, false, NULL);     //创建数据库
      }
      delete table1;
//      delete database1;
      Session->DeleteAlias("ydls"); //删除BDE别名
      Session->SaveConfigFile();
      String sName;
      AnsiString AppPath = ExtractFilePath(Application->ExeName)+"YDLOGIN.INI";
      sName = Edit3->Text;
      WritePrivateProfileString(
      "YDLOGIN",
      "SERVERNAME",
      sName.c_str(),
      AppPath.c_str()
      );
       sName = Edit2->Text;
       WritePrivateProfileString(
       "YDLOGIN",
       "USERNAME",
       sName.c_str(),
       AppPath.c_str()
        );
      TStringList *yList=new TStringList();
      try
      {
       if (!Session->IsAlias("ydgl"))
        {
         yList->Add("ENABLE BCD=TRUE");
         yList->Add("DATABASE NAME=Yddb");
         yList->Add("SERVER NAME="+Edit3->Text);
         yList->Add("USER NAME="+Edit2->Text);
         yList->Add("PASSWORD="+Edit1->Text);
         Session->AddAlias("ydgl", "MSSQL", yList);
         Session->SaveConfigFile();
         database1->Close();
         database1->AliasName="ydgl";
         database1->DatabaseName="ydgls";
         database1->LoginPrompt=false;
         database1->Params->Add("USER NAME="+Edit2->Text);
         database1->Params->Add("PASSWORD="+Edit1->Text);
         database1->Open();
        if (ydb==0)
         {
         createsjb();
         AnsiString Path= ExtractFilePath(Application->ExeName);
         TTable *Table1=new TTable(this);
         Table1->TableType=ttFoxPro;
         Table1->TableName=Path+"djsjk.dbf";
         Table1->Open();
         TTable *Table2=new TTable(this);
         Table2->DatabaseName="ydgls";
         Table2->TableName="djsjk";
         Table2->Open();
         Table1->First();
         while (!Table1->Eof)
           {
             Table2->Append();
             Table2->FieldByName("lb")->AsString=Table1->FieldByName("lb")->AsString;
             Table2->FieldByName("dy")->AsString=Table1->FieldByName("dy")->AsString;
             Table2->FieldByName("dj1")->AsFloat=Table1->FieldByName("dj1")->AsFloat;
             Table2->FieldByName("dj2")->AsFloat=Table1->FieldByName("dj2")->AsFloat;
             Table2->FieldByName("dj3")->AsFloat=Table1->FieldByName("dj3")->AsFloat;
             Table2->FieldByName("dj4")->AsFloat=Table1->FieldByName("dj4")->AsFloat;
             Table2->FieldByName("dj1f")->AsFloat=Table1->FieldByName("dj1f")->AsFloat;
             Table2->FieldByName("dj2f")->AsFloat=Table1->FieldByName("dj2f")->AsFloat;
             Table2->FieldByName("dj3f")->AsFloat=Table1->FieldByName("dj3f")->AsFloat;
             Table2->FieldByName("dj4f")->AsFloat=Table1->FieldByName("dj4f")->AsFloat;
             Table2->FieldByName("dj1g")->AsFloat=Table1->FieldByName("dj1g")->AsFloat;
             Table2->FieldByName("dj2g")->AsFloat=Table1->FieldByName("dj2g")->AsFloat;
             Table2->FieldByName("dj3g")->AsFloat=Table1->FieldByName("dj3g")->AsFloat;
             Table2->FieldByName("dj4g")->AsFloat=Table1->FieldByName("dj4g")->AsFloat;
             Table2->Post();
             Table1->Next();
           }
         Table1->Close();
         Table2->Close();
         Table1->TableType=ttFoxPro;
         Table1->TableName=Path+"dydj.dbf";
         Table1->Open();
         Table2->DatabaseName="ydgls";
         Table2->TableName="dydj";
         Table2->Open();
         Table1->First();
         while (!Table1->Eof)
           {
             Table2->Append();
             Table2->FieldByName("dy_dm")->AsString=Table1->FieldByName("dy_dm")->AsString;
             Table2->FieldByName("dy_dydj")->AsString=Table1->FieldByName("dy_dydj")->AsString;
             Table2->FieldByName("dy_dygt")->AsFloat=Table1->FieldByName("dy_dygt")->AsFloat;
             Table2->FieldByName("dy_dypt")->AsFloat=Table1->FieldByName("dy_dypt")->AsFloat;
             Table2->Post();
             Table1->Next();
           }
         Table1->Close();
         Table2->Close();
         Table1->TableType=ttFoxPro;
         Table1->TableName=Path+"hydm.dbf";
         Table1->Open();
         Table2->DatabaseName="ydgls";
         Table2->TableName="hydm";
         Table2->Open();
         Table1->First();
         while (!Table1->Eof)
           {
             Table2->Append();
             Table2->FieldByName("hy_hydm")->AsString=Table1->FieldByName("hy_hydm")->AsString;
             Table2->FieldByName("hy_hymc")->AsString=Table1->FieldByName("hy_hymc")->AsString;
             Table2->FieldByName("hy_bz")->AsString=Table1->FieldByName("hy_bz")->AsString;
             Table2->Post();
             Table1->Next();
           }
         Table1->Close();
         Table2->Close();
         Table1->TableType=ttFoxPro;
         Table1->TableName=Path+"ydmenu.dbf";
         Table1->Open();
         Table2->DatabaseName="ydgls";
         Table2->TableName="ydmenu";
         Table2->Open();
         Table1->First();
         while (!Table1->Eof)
           {
             Table2->Append();
             Table2->FieldByName("name")->AsString=Table1->FieldByName("name")->AsString;
             Table2->FieldByName("jc")->AsString=Table1->FieldByName("jc")->AsString;
             Table2->FieldByName("sj")->AsInteger=Table1->FieldByName("sj")->AsInteger;
             Table2->FieldByName("cdxm")->AsString=Table1->FieldByName("cdxm")->AsString;
             Table2->Post();
             Table1->Next();
           }

         Table2->Close();
         Table2->DatabaseName="ydgls";
         Table2->TableName="CZYGL";
         Table2->Open();
         Table2->Append();
         Table2->FieldByName("czymc")->AsString="系统管理员";
         Table2->FieldByName("czykl")->AsString="1";
         Table2->FieldByName("kzqx1")->AsString="1";

⌨️ 快捷键说明

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