您好,登錄后才能下訂單哦!
#region 配置函數 c function c{ #====創建object $o=new-object psobject #-------數據庫連接配置-------- $o|Add-Member -MemberType NoteProperty -Name t -Value 'mysql' #數據庫類型 $o|Add-Member -MemberType NoteProperty -Name h -Value 'localhost' #主機地址 $o|Add-Member -MemberType NoteProperty -Name u -Value 'root' #登錄名 $o|Add-Member -MemberType NoteProperty -Name p -Value 'root' #登錄密碼 $o|Add-Member -MemberType NoteProperty -Name d -Value 'monitor' #默認訪問的數據庫 $o|Add-Member -MemberType NoteProperty -Name c -Value 'utf8' #編碼 #--------expand-------- #--------expand-------- #====對傳入參數進行驗證并輸出返回值 switch($args[0]){ 't'{return $o.t;break} 'h'{return $o.h;break} 'u'{return $o.u;break} 'p'{return $o.p;break} 'd'{return $o.d;break} 'c'{return $o.c;break} default{ Write-Warning "當前參數 $args 無效,請檢查參數是否正確,可用參數及表示如下:" write-host t : 表示數據庫類型 -ForegroundColor Yellow write-host h : 表示主機地址 -ForegroundColor Yellow write-host u : 表示登錄數據庫的賬號 -ForegroundColor Yellow write-host p : 表示登錄數據庫的密碼 -ForegroundColor Yellow write-host d : 表示默認訪問的數據庫名 -ForegroundColor Yellow write-host d : 表示連接數據庫所使用的字符集 -ForegroundColor Yellow exit } } } #endregion #region 數據庫操作函數 _odb_ function _odb_ { param ( $funName, #執行的函數名 $sql #執行的sql腳本 ) #====從配置函數c中,獲取配置信息 $dbtpye=c t $server=c h $uid=c u $pwd=c p $DBName=c d $char=c c #====驗證數據庫類型,創建數據庫對象 switch($dbtpye){ 'mssql'{ $conn = New-Object System.Data.SqlClient.SqlConnection $cmd = new-object System.Data.SqlClient.SqlCommand $SqlAdapter = New-Object system.Data.SqlClient.SqlDataAdapter break } 'mysql'{ try{ [void][System.Reflection.Assembly]::LoadWithPartialName("mysql.data") }catch{Write-Warning '請安裝mysql連接組件mysql-connector-net-6.5.4'} $conn = New-Object MySql.Data.MySqlClient.MySqlConnection $cmd = new-object mysql.data.mysqlclient.mysqlcommand $SqlAdapter = New-Object mysql.Data.mySqlClient.mySqlDataAdapter break } } try{ $conn.ConnectionString="server=$server;uid=$uid;pwd=$PWD;database=$DBName;charset=$char" $conn.open() } catch{ Write-warning '數據庫連接錯誤!' return $false } $cmd.Connection=$conn #region用于寫入、更新等無返回值操作 _exec_ function _exec_ { $cmd.CommandText=$sql [void]$cmd.ExecuteNonQuery() } #endregion #region用于查詢、有返回值操作 _get_ function _get_ { $cmd.commandtext=$sql $SqlAdapter.SelectCommand = $cmd $DataSet = New-Object System.Data.DataSet [void]$SqlAdapter.Fill($DataSet,"data") return $dataset.tables['data'] } #endregion #判斷傳入值,并執行相應函數 switch($funName){ '_exec_'{_exec_;break} '_get_'{_get_;break} } $conn.Close() } #endregion 調用 _odb_ _get_ sql 有返回值 或 _odb_ _exec_ sql 無返回值
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。