使用ADO.NET类及方法实现数据库的查询并返回一个Object 数组
2012-07-26 13:30
1071 查看
由于PowerShell在X64的操作系统上有X86 & X64两种,对于安装的SQL Server同样有两种版本X64
& X86,如果安装的是X86的SQL Server只能通过X86的PowerShell去执行Invoke-sqlcmd
cmdlet,同理只能在安装X64的SQL Server只能通过X64的PowerShell去执行Invoke-sqlcmd
cmdlet,所以为了防止这种隐患的存在,我们选择了System.Data.SqlClient命名空间去实现,其中$SQLCommand为SQL查询语句,实现如下:
functionGet-DBObject
{
[OutputType([System.Array])]
param(
[Parameter(Position=0, Mandatory=$true)]
[ValidateNotNullOrEmpty()]
[System.String]
$SQLCommand
)
process
{
Write-Verbose"Get DataBase Object and returned."
$SQLCommand+=" ORDER BY CONVERT(Varchar(50),[id]) "
$connStr="Data Source=$DefaultServer;Initial Catalog=$DataBaseName;User ID=$DBUserName;Password=$DBPassword"
[System.Data.SqlClient.SqlConnection]::ClearAllPools()
[System.Data.SqlClient.SqlConnection]$sqlconn=New-ObjectSystem.Data.SqlClient.SqlConnection($connStr)
[System.Data.SqlClient.SqlCommand]$sqlcmd=New-ObjectSystem.Data.SqlClient.SqlCommand($SQLCommand,$sqlconn)
[System.Data.SqlClient.SqlDataAdapter]$sqladp=New-ObjectSystem.Data.SqlClient.SqlDataAdapter($sqlcmd)
[System.Data.DataSet]$ds=New-ObjectSystem.Data.DataSet
$output=$sqladp.Fill($ds,"Table0")
[Object[]]$dbObject=$ds.Tables["Table0"]
return$dbObject
}
}
& X86,如果安装的是X86的SQL Server只能通过X86的PowerShell去执行Invoke-sqlcmd
cmdlet,同理只能在安装X64的SQL Server只能通过X64的PowerShell去执行Invoke-sqlcmd
cmdlet,所以为了防止这种隐患的存在,我们选择了System.Data.SqlClient命名空间去实现,其中$SQLCommand为SQL查询语句,实现如下:
functionGet-DBObject
{
[OutputType([System.Array])]
param(
[Parameter(Position=0, Mandatory=$true)]
[ValidateNotNullOrEmpty()]
[System.String]
$SQLCommand
)
process
{
Write-Verbose"Get DataBase Object and returned."
$SQLCommand+=" ORDER BY CONVERT(Varchar(50),[id]) "
$connStr="Data Source=$DefaultServer;Initial Catalog=$DataBaseName;User ID=$DBUserName;Password=$DBPassword"
[System.Data.SqlClient.SqlConnection]::ClearAllPools()
[System.Data.SqlClient.SqlConnection]$sqlconn=New-ObjectSystem.Data.SqlClient.SqlConnection($connStr)
[System.Data.SqlClient.SqlCommand]$sqlcmd=New-ObjectSystem.Data.SqlClient.SqlCommand($SQLCommand,$sqlconn)
[System.Data.SqlClient.SqlDataAdapter]$sqladp=New-ObjectSystem.Data.SqlClient.SqlDataAdapter($sqlcmd)
[System.Data.DataSet]$ds=New-ObjectSystem.Data.DataSet
$output=$sqladp.Fill($ds,"Table0")
[Object[]]$dbObject=$ds.Tables["Table0"]
return$dbObject
}
}
相关文章推荐
- ADO.NET笔记——使用Connection连接数据库,使用Command对象的ExecuteReader()方法创建DataReader对象返回多行数据
- 【C#】对异步请求处理程序IHttpAsyncHandler的理解和分享一个易用性封装 【手记】走近科学之为什么明明实现了IEnumerable<T>的类型却不能调用LINQ扩展方法 【手记】手机网页弹出层后屏蔽底层的滑动响应 【手记】ASP.NET提示“未能创建类型”处理 【Web】一个非常简单的移动web消息框 【手记】解决EXCEL跑SQL遇“查询无法运行或数据库表无法打开...”
- EF Core使用SQL调用返回其他类型的查询 ASP.NET Core 2.0 使用NLog实现日志记录 CSS 3D transforms cSharp:use Activator.CreateInstance with an Interface? SqlHelper DBHelper C# Thread.Abort方法真的让线程停止了吗? 注意!你的Thread.Abort方法真
- ADO.NET的一个帮助类库,只须一个连接,一条SQL语句,轻松实现数据库的查旬,再加一个object 轻松实现数据库的增删改
- Java中使用hql,sql查询返回的list<Object> 转成需要的实体对象--方法讲解!
- Visual C#2005——如何使用ToArray方法返回一个强类型数组
- VC中使用ADO访问数据库技术程序实现方法
- .NET数据库编程求索之路--4.使用ADO.NET实现(三层架构篇-使用Table传递数据)(2)
- 10_9_4编写一个类MyCopyableClass,该类可以使用方法GetCopy()返回它本身的一个副本.这个方法应使派生与System.Object的MemberwiseClose()方法.该类
- PHP查询并删除数据库多列重复数据的方法(利用数组函数实现)
- 关于ASP.NET“操作必须使用一个可更新的查询”问题的解决方法
- ADO.NET中使用getchanges方法提速(更新回数据库操作)
- C#字符串数组排序 C#排序算法大全 C#字符串比较方法 一个.NET通用JSON解析/构建类的实现(c#) C#处理Json文件 asp.net使用Jquery+iframe传值问题
- 使用 ADO.NET 的 ExecuteScalar 方法返回单一值
- ado.net连接模式访问数据库中datareader的返回多个结果集和mars的使用
- .NET数据库编程求索之路--3.使用ADO.NET实现(SQL语句篇)(2)
- PHP查询并删除数据库多列重复数据的方法(利用数组函数实现)
- Silverlight中,使用ADO.NET Entity,WCF RIA,动态加载指定数据库的实现。
- 分享在Linux下使用OSGi.NET插件框架快速实现一个分布式服务集群的方法
- 三种方法实现从“一个(组)查询过程中返回两个表的查询结果”