请试试这个:
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) 我只想执行以下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;
我有两个查询,我必须运行,我加入他们但他们的结果表具有相同的结构.
比如我有
select * from products where producttype=magazine
select * from products where producttype = book
Run Code Online (Sandbox Code Playgroud)
我必须结合这两个查询的结果,然后将其输出为单个结果.我必须在存储过程中执行此操作.
PS这些只是我提供的示例,我有一个复杂的表结构.最重要的是我无法加入他们.
我有一个Excel工作表,它是通过打开基于TFS工作项的某些查询的结果生成的.
我正在使用这个Excel进行个人计划,但每当我关闭工作表时,它会询问我是否要将更改发布到TFS.
我希望它完全忘记它来自TFS,因为我担心有一天我会无意中发布我的更改.
我尝试以最旧的Excel格式保存Excel文档,但这没有用.

我只想从PowerShell 调用Microsoft.Data.Schema.ScriptDom.Sql.Sql100ScriptGenerator的GenerateScript方法.
#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) 当我在本地执行一个简单的语句
$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后台作业的执行?
我只是试图将我从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.我错过了什么吗?
看看语法,我得到了强烈的印象,PIVOT不支持除了为单元格计算的单个聚合函数之外的任何东西.
从统计视图显示一些平均值而不给出平均所指的案例数量是非常不满意的(这是礼貌版本).
是否有一些很好的模式来评估基于avg和pivotots的基于计数的枢轴并将它们混合在一起以产生一个好的结果?
我希望通过Powershell脚本在Firefox中打开网址
为了使事情变得有点困难,Firefox不是默认浏览器,它是一个便携式Firefox版本.
编辑:
我的便携式firefox安装似乎有些问题.即使将其设置为默认浏览器,在启动URL调用时也无法正常工作.
我从这里重新安装了便携式Firefox 4.0 ,ittlefoot的解决方案运行正常.
我刚买了第一台64位Windows笔记本电脑.现在我正在寻找有关何时以及为何使用32位或64位版本的PowerShell或ISE的信息.
我的第一印象是我最好留32位,直到我理解得更好.
我想念或未找到的是基本教程和实践经验以及这些问题的链接.
我正在发送一个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) 我正在尝试使用ADO.NET和PowerShell读取Firefox places.sqlite的一些日期字段.
显然这些字段是在Unix时间.
我正在寻找转换为.Net日期时间或字符串
编辑: 我想将数据行绑定到WPF GridView.
我需要一种方法在SQL查询中进行转换,或者在将数据行绑定到网格时使用某种方式.
powershell ×8
sql ×3
.net ×2
mysql ×2
ado.net ×1
datetime ×1
excel ×1
firefox4 ×1
formatting ×1
jobs ×1
oracle ×1
out ×1
parameters ×1
pivot ×1
sql-server ×1
sqlite ×1
tfs ×1