データーベース作成


  EXCEL




  • BatchHelper オブジェクトをインストールして下さい

    ※ インストール : 解凍して setup.wsf を実行して下さい。
    ※ リファレンス : http://winofsql.jp/help/cpp/batchhelper/frame.htm

  • WSH スケルトン を使用しています

      
    
    ' **********************************************
    ' EXCEL のパスを決定
    ' **********************************************
    ' 初期ディレクトリは省略しています
    DbPath = Lbox.SaveFileName( "データベース作成", "EXCEL,*.xls" ,, "xls", "MyDB" )
    if DbPath = "" then
    	MsgOk( "パス指定でキャンセルされました   " )
    	quit
    end if
    
    ' EXCEL ブックが存在している場合はごみ箱へ移動
    ' (OS の移動確認ダイアログが表示されます)
    if Fs.IsFileExist( DbPath ) then
    	Fs.ShellDelete( DbPath ) 
    end if
    
    ' **********************************************
    ' 接続
    ' **********************************************
    ' EXCEL は存在しないパスに接続してもエラーになりません
    ' が、テーブルを作成しないとブックも作成されません
    Result = Database.Connect( 0, DbPath ) 
    if Result <> "" then
    	MsgOk( Result )
    	quit
    end if
    
    ' EXCEL は VARCHAR の桁数指定は無視されます
    ' INT や DATETIME も NUMBER と DATE に置き換えられます
    ' VARCHAR では、常に 255 になりますが、それは表示幅で
    ' 最大長ではありません
    ' 主キーは指定できません。
    Query = "create table [社員テーブル] ("
    Query = Query & "[社員コード] VARCHAR(4)"
    Query = Query & ",[氏名] VARCHAR(50)"
    Query = Query & ",[所属] VARCHAR(4)"
    Query = Query & ",[性別] INT"
    Query = Query & ",[給与] INT"
    Query = Query & ",[手当] INT"
    Query = Query & ",[作成日] DATETIME"
    Query = Query & ",[更新日] DATETIME"
    Query = Query & ")"
    
    ' **********************************************
    ' SQL実行
    ' **********************************************
    ' Database オブジェクトはバッチ実行を前提としています
    ' ので、Query による実行では、成功か失敗かしか解りません。
    ' エラーの内容が必要な場合は、SQL を テキストファイルに
    ' 書き込んで Execute( ファイルパス, LOGファイルのパス )
    ' で実行します(エラーは LOG ファイルに書き込まれます)。
    if not Database.Query( Query ) then
    	MsgOk("社員テーブルの作成に失敗しました")
    end if
    
    ' **********************************************
    ' 接続解除
    ' **********************************************
    Database.DisConnect
    
    MsgOk("処理が終了しました")
    
      







      MDB




      
    
    ' **********************************************
    ' MDB のパスを決定
    ' **********************************************
    ' 初期ディレクトリは省略しています
    DbPath = Lbox.SaveFileName( "データベース作成", "MDB,*.mdb" ,, "mdb", "MyDB" )
    if DbPath = "" then
    	MsgOk( "パス指定でキャンセルされました   " )
    	quit
    end if
    
    ' MDB が存在している場合はごみ箱へ移動
    if Fs.IsFileExist( DbPath ) then
    	Fs.ShellDelete( DbPath ) 
    end if
    
    ' **********************************************
    ' DB 作成
    ' **********************************************
    ' MDB の作成は ADOX を使用します
    Set Adox = WScript.CreateObject("ADOX.Catalog")
    on error resume next
    Adox.Create "Provider=Microsoft.Jet.OLEDB.4.0;" & _
    	"Data Source=" & DbPath & ";"
    if Err.Number <> 0 then
    	MsgOk( Err.Description & ":" & DbPath )
    	quit
    end if
    on error goto 0
    
    ' **********************************************
    ' 接続
    ' **********************************************
    Result = Database.Connect( 1, DbPath ) 
    if Result <> "" then
    	MsgOk( Result )
    	quit
    end if
    
    ' MDB の VARCHAR は UNICODE なので、氏名には 50 文字のデータがセット可能です
    Query = "create table [社員テーブル] ("
    Query = Query & "[社員コード] VARCHAR(4)"
    Query = Query & ",[氏名] VARCHAR(50)"
    Query = Query & ",[所属] VARCHAR(4)"
    Query = Query & ",[性別] INT"
    Query = Query & ",[給与] INT"
    Query = Query & ",[手当] INT"
    Query = Query & ",[作成日] DATETIME"
    Query = Query & ",[更新日] DATETIME"
    Query = Query & ",primary key([社員コード])"
    Query = Query & ")"
    
    ' **********************************************
    ' SQL実行
    ' **********************************************
    if not Database.Query( Query ) then
    	MsgOk("社員テーブルの作成に失敗しました")
    end if
    
    ' **********************************************
    ' 接続解除
    ' **********************************************
    Database.DisConnect
    
    MsgOk("処理が終了しました")
    
      

      SQLServer

      
    
    ' **********************************************
    ' 接続
    ' **********************************************
    ' DB を作成する為に 既存の DB に接続します
    Result = Database.Connect( 2, "sv\msde2000,master,sa,password" ) 
    if Result <> "" then
    	MsgOk( Result )
    	quit
    end if
    
    ' **********************************************
    ' DB 作成
    ' **********************************************
    Query = "sp_helpdb MyDB"
    if Database.Query( Query ) then
    	' MyDB が存在する場合は削除します
    	Query = "drop database MyDB"
    	if not Database.Query( Query ) then
    		MsgOk("MyDB の削除に失敗しました")
    		Database.DisConnect
    		quit
    	end if
    end if
    
    ' MyDB を作成します
    Query = "create database MyDB"
    if not Database.Query( Query ) then
    	MsgOk("MyDB の作成に失敗しました")
    	Database.DisConnect
    	quit
    end if
    
    ' **********************************************
    ' カレントデータベースを MyDB に変更
    ' **********************************************
    Query = "use MyDB"
    if not Database.Query( Query ) then
    	MsgOk("カレントデータベースを MyDB に変更できません")
    	Database.DisConnect
    	quit
    end if
    
    ' **********************************************
    ' 社員テーブルの作成
    ' **********************************************
    ' NVARCHAR は UNICODE です
    Query = "create table [社員テーブル] ("
    Query = Query & "[社員コード] VARCHAR(4)"
    Query = Query & ",[氏名] NVARCHAR(50)"
    Query = Query & ",[所属] VARCHAR(4)"
    Query = Query & ",[性別] INT"
    Query = Query & ",[給与] INT"
    Query = Query & ",[手当] INT"
    Query = Query & ",[作成日] DATETIME"
    Query = Query & ",[更新日] DATETIME"
    Query = Query & ",primary key([社員コード])"
    Query = Query & ")"
    
    ' **********************************************
    ' SQL実行
    ' **********************************************
    if not Database.Query( Query ) then
    	MsgOk("社員テーブルの作成に失敗しました")
    end if
    
    ' **********************************************
    ' 接続解除
    ' **********************************************
    Database.DisConnect
    
    MsgOk("処理が終了しました")
    
      

      MySQL

      
    
    ' **********************************************
    ' 接続
    ' **********************************************
    ' DB を作成する為に 既存の DB に接続します
    Result = Database.Connect( 3, "MySQL,mysql,root," ) 
    if Result <> "" then
    	MsgOk( Result )
    	quit
    end if
    
    ' **********************************************
    ' DB 作成
    ' **********************************************
    ' MySQL には 小文字で登録されます
    Query = "show databases like 'mydb'"
    ' この場合、行が返されると true です
    if Database.Query( Query ) then
    	' MyDB が存在する場合は削除します
    	' SQL 文では大文字小文字は区別されません
    	Query = "drop database MyDB"
    	if not Database.Query( Query ) then
    		MsgOk("MyDB の削除に失敗しました")
    		Database.DisConnect
    		quit
    	end if
    end if
    
    ' MyDB を作成します
    ' SQL 文では大文字小文字は区別されません
    Query = "create database MyDB"
    if not Database.Query( Query ) then
    	MsgOk("MyDB の作成に失敗しました")
    	Database.DisConnect
    	quit
    end if
    
    ' **********************************************
    ' カレントデータベースを MyDB に変更
    ' **********************************************
    ' SQL 文では大文字小文字は区別されません
    Query = "use MyDB"
    if not Database.Query( Query ) then
    	MsgOk("カレントデータベースを MyDB に変更できません")
    	Database.DisConnect
    	quit
    end if
    
    ' **********************************************
    ' 社員テーブルの作成
    ' **********************************************
    ' 漢字 50 文字が入るように VARCHAR(100) にしています
    Query = "create table `社員テーブル` ("
    Query = Query & "`社員コード` VARCHAR(4)"
    Query = Query & ",`氏名` VARCHAR(100)"
    Query = Query & ",`所属` VARCHAR(4)"
    Query = Query & ",`性別` INT"
    Query = Query & ",`給与` INT"
    Query = Query & ",`手当` INT"
    Query = Query & ",`作成日` DATETIME"
    Query = Query & ",`更新日` DATETIME"
    Query = Query & ",primary key(`社員コード`)"
    Query = Query & ")"
    
    ' **********************************************
    ' SQL実行
    ' **********************************************
    if not Database.Query( Query ) then
    	MsgOk("社員テーブルの作成に失敗しました")
    end if
    
    ' **********************************************
    ' 接続解除
    ' **********************************************
    Database.DisConnect
    
    MsgOk("処理が終了しました")
    
      

      PostgreSQL

      
    
    ' **********************************************
    ' 接続
    ' **********************************************
    ' DB を作成する為に 既存の DB に接続します
    Result = Database.Connect( 5, "PostgreSQL,lightbox,lightbox,lightbox" ) 
    if Result <> "" then
    	MsgOk( Result )
    	quit
    end if
    
    ' **********************************************
    ' DB 作成
    ' **********************************************
    ' PostgreSQL には 小文字で登録されます
    Query = "select * from pg_database where datname = 'mydb'"
    ' この場合、行が返されると true です
    if Database.Query( Query ) then
    	' MyDB が存在する場合は DB を削除します
    	' データベース名は登録されたとおりに指定します
    	Query = "drop database mydb"
    	if not Database.Query( Query ) then
    		MsgOk("MyDB の削除に失敗しました")
    		Database.DisConnect
    		quit
    	end if
    end if
    
    ' MyDB を作成します
    Query = "create database MyDB"
    if not Database.Query( Query ) then
    	MsgOk("MyDB の作成に失敗しました")
    	Database.DisConnect
    	quit
    end if
    
    ' **********************************************
    ' カレントデータベースを MyDB に変更
    ' **********************************************
    ' いったん接続解除します
    Database.DisConnect
    ' 作成した DB に接続します
    ' データベース名は登録されたとおりに指定します
    Result = Database.Connect( 5, "PostgreSQL,mydb,lightbox,lightbox" ) 
    if Result <> "" then
    	MsgOk( Result & vbCrLf & "カレントデータベースを MyDB に変更できません" )
    	quit
    end if
    
    ' **********************************************
    ' 社員テーブルの作成
    ' **********************************************
    ' DATETIME という型はありませんので DATE で代用します
    ' 厳密にコンバートするならば、TIMESTAMP を使用します
    Query = "create table ""社員テーブル"" ("
    Query = Query & """社員コード"" VARCHAR(4)"
    Query = Query & ",""氏名"" VARCHAR(100)"
    Query = Query & ",""所属"" VARCHAR(4)"
    Query = Query & ",""性別"" INT"
    Query = Query & ",""給与"" INT"
    Query = Query & ",""手当"" INT"
    Query = Query & ",""作成日"" DATE"
    Query = Query & ",""更新日"" DATE"
    Query = Query & ",primary key(""社員コード"")"
    Query = Query & ")"
    
    ' **********************************************
    ' SQL実行
    ' **********************************************
    if not Database.Query( Query ) then
    	MsgOk("社員テーブルの作成に失敗しました")
    end if
    
    ' **********************************************
    ' 接続解除
    ' **********************************************
    Database.DisConnect
    
    MsgOk("処理が終了しました")
    
      




    yahoo  google  MSDN  MSDN(us)  WinFAQ  Win Howto  tohoho  ie_DHTML  vector  wdic  辞書  天気 


    [BatchHelper]
    CCBot/2.0 (https://commoncrawl.org/faq/)
    19/06/21 00:27:11
    InfoBoard Version 1.00 : Language=Perl

    BatchHelper COMprog CommonSpec Cprog CprogBase CprogSAMPLE CprogSTD CprogSTD2 CprogWinsock Cygwin GameScript HTML HTMLcss InstallShield InstallShieldFunc JScript JScriptSAMPLE Jsfuncs LLINK OldProg OracleGold OracleSilver PRO PRObrowser PROc PROconePOINT PROcontrol PROftpclient PROjscript PROmailer PROperl PROperlCHAT PROphp PROphpLesson PROphpLesson2 PROphpLesson3 PROphpfunction PROphpfunctionArray PROphpfunctionMisc PROphpfunctionString PROsql PROvb PROvbFunction PROvbString PROvbdbmtn PROvbonepoint PROwebapp PROwin1POINT PROwinSYSTEM PROwinYOROZU PROwindows ProjectBoard RealPHP ScriptAPP ScriptMaster VBRealtime Vsfuncs a1root access accreq adsi ajax amazon argus asp aspSample aspVarious aspdotnet aw2kinst cappvariety centura ckeyword classStyle cmaterial cmbin cmdbapp cmenum cmlang cmlistbox cmstd cmstdseed cmtxt cs daz3d db dbCommon dbaccess dnettool dos download flex2 flex3 flex4 framemtn framereq freeWorld freesoft gimp ginpro giodownload google hdml home hta htmlDom ie9svg install java javaSwing javascript jetsql jquery jsp jspTest jspVarious lightbox listasp listmsapi listmsie listmsiis listmsnt listmspatch listmsscript listmsvb listmsvc memo ms msde mysql netbeans oraPlsql oracle oracleWiper oraclehelper orafunc other panoramio pear perl personal pgdojo pgdojo_cal pgdojo_holiday pgdojo_idx pgdojo_ref pgdojo_req php phpVarious phpguide plsql postgres ps r205 realC realwebapp regex rgaki ruby rule sboard sc scprint scquest sdb sdbquest seesaa setup sh_Imagick sh_canvas sh_dotnet sh_google sh_tool sh_web shadowbox shgm shjquery shvbs shweb sjscript skadai skywalker smalltech sperl sqlq src systemdoc tcpip tegaki three toolbox twitter typeface usb useXML vb vbdb vbsfunc vbsguide vbsrc vpc wcsignup webanymind webappgen webclass webparts webtool webwsh win8 winofsql wmi work wp youtube