小编ber*_*d_k的帖子

如何验证PowerShell函数参数允许空字符串?

请试试这个:

function f1
{
    param(
    [Parameter(Mandatory=$true,ValueFromPipelineByPropertyName=$true)]
    [string]
    $Text
    )
    $text
}

function f2
{
    param(
    [Parameter(Mandatory=$true,ValueFromPipelineByPropertyName=$true)]
    #[string]
    $Text
    )
    $text
}

function f3
{
    param(
    [Parameter(Mandatory=$False,ValueFromPipelineByPropertyName=$true)]
    [string]
    $Text
    )
    $text
}

f1 ''
f2 ''
f3 ''
Run Code Online (Sandbox Code Playgroud)

这里f1抛出一个错误.现在试试

f2 $null 
f3 $null    
Run Code Online (Sandbox Code Playgroud)

这次只有f2抛出一个错误.我想要的是一个函数f,所以

f '' # is accepted
f $null # returns an error
Run Code Online (Sandbox Code Playgroud)

parameters powershell

33
推荐指数
2
解决办法
3万
查看次数

如何在.NET MySqlCommand中使用MySql用户定义变量?

我只想执行以下Mysql语句

SET @a = 1;SELECT @a;
Run Code Online (Sandbox Code Playgroud)

使用MySql.Data.MySqlClient

[System.Reflection.Assembly]::LoadWithPartialName("MySql.Data")

$password = 'mypassword'

$sql = "SET @a = 1;SELECT @a;"

$server = 'localhost'
$port = 3306
$database = 'test'
$User = 'root'


$conn=new-object MySql.Data.MySqlClient.MySqlConnection
$connectionstring =  "Server=$Server;Port=$port;Database=$DataBase;Uid=$User;Pwd=$Password;allow zero datetime=yes"
$conn.ConnectionString = $connectionstring 
$conn.Open() 

$cmd=new-object MySql.Data.MySqlClient.MySqlCommand($sql,$conn)
$ds=New-Object system.Data.DataSet
$da=New-Object MySql.Data.MySqlClient.MySqlDataAdapter($cmd)
$da.fill($ds) 
$conn.close()
$ds.tables[0]
Run Code Online (Sandbox Code Playgroud)

我得到一个致命的错误.

当我用任何一个替换$ sql时

$sql = "SELECT DATABASE();"
Run Code Online (Sandbox Code Playgroud)

要么

$sql = "SELECT 1;"
Run Code Online (Sandbox Code Playgroud)

我得到了预期的结果.

我发现了这个问题,但它并没有解决我的问题.

我正在尝试将SQLIse(SQLPSX项目的一部分)移植到MySQL版MySQLIse.

我想处理任何简单有效的mysql语句.

编辑:

我试图运行sakila-schema.sql的部分mysql演示数据库安装脚本,运行类似的东西

mysql> SOURCE C:/temp/sakila-db/sakila-schema.sql;

.net mysql powershell

19
推荐指数
1
解决办法
1万
查看次数

从两个查询追加结果并作为单个表输出

我有两个查询,我必须运行,我加入他们但他们的结果表具有相同的结构.

比如我有

select * from products where producttype=magazine

select * from products where producttype = book
Run Code Online (Sandbox Code Playgroud)

我必须结合这两个查询的结果,然后将其输出为单个结果.我必须在存储过程中执行此操作.

PS这些只是我提供的示例,我有一个复杂的表结构.最重要的是我无法加入他们.

sql sql-server sql-server-2008

14
推荐指数
3
解决办法
3万
查看次数

如何让Excel表格忘记它是从TFS生成的?

我有一个Excel工作表,它是通过打开基于TFS工作项的某些查询的结果生成的.

我正在使用这个Excel进行个人计划,但每当我关闭工作表时,它会询问我是否要将更改发布到TFS.

我希望它完全忘记它来自TFS,因为我担心有一天我会无意中发布我的更改.

我尝试以最旧的Excel格式保存Excel文档,但这没有用.

Excel对话框

excel tfs

13
推荐指数
2
解决办法
7257
查看次数

如何使用输出参数调用.net方法?

我只想从PowerShell 调用Microsoft.Data.Schema.ScriptDom.Sql.Sql100ScriptGeneratorGenerateScript方法.

#C

public void GenerateScript(
    IScriptFragment scriptFragment,
    out string script
)
Run Code Online (Sandbox Code Playgroud)

我找到了这个,但我没有得到它的工作

$sg = new-object  Microsoft.Data.Schema.ScriptDom.Sql.Sql100ScriptGenerator

$sql = 'select * from PowerShell'

$out = ''
$sg.GenerateScript($sql, [ref] $out)

$out
Run Code Online (Sandbox Code Playgroud)

这给了

Cannot find an overload for "GenerateScript" and the argument count: "2".
At line:6 char:19
+ $sg.GenerateScript <<<< ($sql, [ref] $out)
    + CategoryInfo          : NotSpecified: (:) [], MethodException
    + FullyQualifiedErrorId : MethodCountCouldNotFindBest
Run Code Online (Sandbox Code Playgroud)

编辑:

目前的版本是

$sql = 'select * from PowerShell'

$sr = new-Object System.IO.StringReader($sql) …
Run Code Online (Sandbox Code Playgroud)

.net powershell out

9
推荐指数
1
解决办法
9230
查看次数

为什么Powershell Jobs这么慢?

当我在本地执行一个简单的语句

$path = 'C:\Windows\System32\WindowsPowerShell\v1.0'
gci $path
Run Code Online (Sandbox Code Playgroud)

我马上看到了回应.但是当我在本地机器上执行它时

$start = get-date
$path = 'C:\Windows\System32\WindowsPowerShell\v1.0'
$cmd = [scriptblock]::Create("gci $path")
$jnr1 = Invoke-Command -computer localhost -ScriptBlock $cmd  -asJob
Wait-Job $jnr1
Receive-job $jnr1
$end = Get-date
($end - $start).totalseconds
Run Code Online (Sandbox Code Playgroud)

我要等55秒.从我十年前的unix经验来看.我希望后台作业的运行速度几乎和前台作业一样快.

有没有办法加快PowerShell后台作业的执行?

powershell jobs

7
推荐指数
1
解决办法
5663
查看次数

为什么德国和瑞士的数字与字符串转换不同?

我只是试图将我从Exel读取的浮点数转换为使用逗号作为小数点分隔符和逗号后面两位数的字符串.我尝试以下代码

$a = 707.63790474
$l = New-Object System.Globalization.CultureInfo("de-CH")
"CH: " + $a.ToString("F2", $l)


$l = New-Object System.Globalization.CultureInfo("de-DE")
"DE: " + $a.ToString("F2", $l)

$l = New-Object System.Globalization.CultureInfo("en-US")
"US: " + $a.ToString("F2", $l)
Run Code Online (Sandbox Code Playgroud)

得到

CH: 707.64
DE: 707,64
US: 707.64
Run Code Online (Sandbox Code Playgroud)

但据我所知,瑞士使用逗号作为小数分隔符,除非它是货币cf. http://en.wikipedia.org/wiki/Decimal_mark.我错过了什么吗?

powershell formatting

6
推荐指数
1
解决办法
1282
查看次数

我怎样才能使用PIVOT来显示其细胞的平均和计数?

看看语法,我得到了强烈的印象,PIVOT不支持除了为单元格计算的单个聚合函数之外的任何东西.

从统计视图显示一些平均值而不给出平均所指的案例数量是非常不满意的(这是礼貌版本).

是否有一些很好的模式来评估基于avg和pivotots的基于计数的枢轴并将它们混合在一起以产生一个好的结果?

sql oracle pivot sql-server-2005

5
推荐指数
1
解决办法
6972
查看次数

通过PowerShell在Firefox中打开一个URL?

我希望通过Powershell脚本在Firefox中打开网址

为了使事情变得有点困难,Firefox不是默认浏览器,它是一个便携式Firefox版本.

编辑:

我的便携式firefox安装似乎有些问题.即使将其设置为默认浏览器,在启动URL调用时也无法正常工作.

我从这里重新安装了便携式Firefox 4.0 ,ittlefoot的解决方案运行正常.

powershell firefox4

5
推荐指数
2
解决办法
1万
查看次数

为什么以及何时使用32位或64位PowerShell或ISE?

我刚买了第一台64位Windows笔记本电脑.现在我正在寻找有关何时以及为何使用32位或64位版本的PowerShell或ISE的信息.

我的第一印象是我最好留32位,直到我理解得更好.

我想念或未找到的是基本教程和实践经验以及这些问题的链接.

powershell powershell-ise powershell-2.0

5
推荐指数
1
解决办法
5045
查看次数

SQL UPDATE语句 - 返回成功但受影响的是0行

我正在发送一个SQL UPDATE查询,而mySQL数据库表现得很奇怪.它返回一个成功的响应,但会影响0行.代码是:

UPDATE place 
SET city='Qatar' AND country='Qatar'
WHERE placeid='25'
Run Code Online (Sandbox Code Playgroud)

Response: Successful 0 row(s) affected. ( Query took 0.0003 sec )

肯定与数据库placeid = '25'的记录.如果我做一个SELECT*FROM place WHERE placeid ='25'我得到了返回的记录.

有任何想法吗?谢谢!

编辑:

Table structure:

SQL query: describe place; 
Rows: 9

Field         Type     Null   Key    Default  Extra
title         text     NO            NULL     
description   text     NO            NULL     
latitude      float    NO            NULL     
longitude     float    NO            NULL     
image         text     NO            NULL     
placeid       int(11)  NO     PRI    NULL     
country       text     YES           NULL     
city          text     YES           NULL     
address …
Run Code Online (Sandbox Code Playgroud)

mysql sql

3
推荐指数
1
解决办法
2万
查看次数

一个Powershell函数将unix时间转换为字符串?

我正在尝试使用ADO.NET和PowerShell读取Firefox places.sqlite的一些日期字段.

显然这些字段是在Unix时间.

我正在寻找转换为.Net日期时间或字符串

编辑: 我想将数据行绑定到WPF GridView.

我需要一种方法在SQL查询中进行转换,或者在将数据行绑定到网格时使用某种方式.

sqlite powershell ado.net datetime unix-timestamp

3
推荐指数
1
解决办法
7284
查看次数