powershell数据库操作函数

#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


c为配置函数,可扩展,所有的配置信息的设置与获取都由c完成。

函数的使用也非常简单,如果需要对数据进行写入操作,执行以下代码即可:

_odb_  '_exec_'  $sql

如果需要执行有返回值的操作,如需获取数据,则执行以下代码即可:

_odb_  '_get_'  $sql

返回值为dataset对象

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: PowerShell 是一种跨平台的任务自动化和配置管理框架,它结合了命令行界面和脚本语言,并且使用了 .NET Framework。 下面是一个简单的 PowerShell 编程示例,用于列出指定目录中的所有文件: ``` Get-ChildItem -Path C:\Users\UserName\Documents -Recurse -File ``` 上面的代码使用 `Get-ChildItem` 命令获取指定目录中的所有文件,并使用 `-Recurse` 参数递归地搜索子目录。`-File` 参数仅返回文件,而不是文件夹。 此外,PowerShell 还支持变量、条件语句、循环和函数等基本编程结构,可以编写复杂的脚本和应用程序。例如,下面是一个示例函数,用于计算两个数字的和: ``` function Add-Numbers { param([int]$a, [int]$b) $sum = $a + $b return $sum } Add-Numbers -a 5 -b 10 ``` 上面的代码定义了一个名为 `Add-Numbers` 的函数,它接受两个整数参数 `$a` 和 `$b`,并返回它们的和。在函数定义后,我们可以使用 `Add-Numbers` 命令调用该函数,并传递参数 `-a 5` 和 `-b 10`。输出将是 `15`。 ### 回答2: PowerShell是由微软开发的一种命令行脚本语言和Shell环境。它的设计目标是提供一种易于使用和学习的工具,用于管理和自动化Windows操作系统的任务。以下是关于PowerShell编程的一些重要信息。 首先,PowerShell使用了基于对象的管理和脚本技术。它允许通过脚本和命令来操作和管理各种Windows系统资源,如文件、注册表、服务等。可利用PowerShell编写简洁、高效的脚本来完成各种复杂的任务。 其次,PowerShell的语法结构兼容常见的编程语言,如C#和VB.Net。这使得程序员可以比较容易地学习和转换到PowerShell编程。PowerShell支持变量、条件语句、循环、函数等常见的编程结构,使得编写清晰、可读性强的代码成为可能。 第三,在PowerShell中,可以直接调用和使用.NET Framework中的类和对象。这意味着开发者可以利用.NET Framework的丰富功能来完成任务,如数据库访问、网络通信等。这使得PowerShell不仅可以用于系统管理,还可以用于开发应用程序。 第四,PowerShell提供了丰富的内置命令和模块,可以快速实现各种任务。通过使用命令和模块,我们可以轻松地处理文件、执行远程操作、管理Windows管理对象等。此外,PowerShell还支持通过编写自定义命令和模块来扩展其功能。 最后,PowerShell拥有强大的脚本调试和错误处理功能。它提供了丰富的调试工具,如断点、变量监视等,可以帮助开发者快速定位和解决问题。此外,PowerShell还提供了丰富的异常处理机制,使得编写健壮的脚本变得更加容易。 总而言之,PowerShell编程是一种强大而易学的工具,可用于管理和自动化Windows操作系统的任务。它具有丰富的功能和灵活的语法,适用于各种场景,从系统管理到应用程序开发。无论是初学者还是有经验的开发者,都可以受益于学习和使用PowerShell编程。 ### 回答3: PowerShell 是由微软开发的一种脚本语言和命令行界面工具。它主要用于自动化管理 Windows 操作系统和执行系统管理任务。PowerShell 结合了命令行界面和编程语言的特点,可以在 Windows 系统上执行各种操作,并且通过编写脚本来简化和自动化任务。 PowerShell 提供了一种基于对象的管理模式,允许用户使用命令进行各种操作,例如文件操作、网络管理、注册表操作等。通过执行简单的命令,用户可以轻松完成许多复杂的任务,提高生产力。 PowerShell 编程语言是一种面向对象的语言,它支持变量、函数、循环、条件语句等常见编程结构。用户可以编写脚本文件来完成重复性的工作,实现自动化任务。另外,PowerShell 还提供了丰富的内置命令和功能模块,可以方便地扩展脚本的功能。 PowerShell 还支持与其他编程语言和技术的集成。它可以通过 COM 对象和 .NET Framework 进行交互,使用各种.NET 类库提供的功能。此外,PowerShell 还可以调用外部程序和脚本,与其他脚本语言(如 Python、Perl)进行互操作。 总的来说,PowerShell 是一种功能强大的编程工具,适用于系统管理、自动化任务和脚本开发等各种场景。它可以帮助用户快速、高效地管理和操作 Windows 系统,提升工作效率。无论是初学者还是有经验的开发者,都可以通过学习 PowerShell 编程来提升自己的技能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值