【发布时间】:2017-04-10 03:49:28
【问题描述】:
我有以下 PowerShell 代码,它将一行新数据添加到 MS Access 数据库中(基于用户输入)并且运行良好。
if ($NewAccounts ="Y") {
$cursor = 3
$lock = 3
$Ado = New-Object -ComObject ADODB.Connection
$recordset = New-Object -ComObject ADODB.Recordset
$Ado.Open("Provider = Microsoft.ACE.OLEDB.12.0;Data Source=$Source")
$query = "Select * from [Sheet1]"
$recordset.Open($query, $ado, $cursor, $lock)
$recordset.AddNew()
$recordset.Fields.Item("Account") = $AccName
$recordset.Fields.Item("Serial") = $CGBSerial
$recordset.Fields.Item("SAExpiry") = $SAEDate.ToString("dd/MM/yyyy")
$recordset.Fields.Item("SAValidatedPerson") = $SAPerson
$recordset.Fields.Item("DataCollection") = $DCRun
$recordset.Fields.Item("DataCollectionDate") = $DCRunDate
$recordset.Fields.Item("DataCollectionPerson") = $DCPerson
$recordset.Fields.Item("Version") = $Version
$recordset.Fields.Item("VersionDateValidated") = Get-Date -Format d
$recordset.Fields.Item("VersionValidatedPerson") = $logontrim
$recordset.Update()
$recordset.Close()
$ado.Close()
}
但是,我似乎无法更新数据库中已经存在的行。是否可以更新一行,而不是创建一个全新的行?
【问题讨论】:
-
“我不能”是一个非常模糊的描述。您收到错误消息吗?如果是这样,请发布它们
-
我应该明确指出我根本无法计算出语法——更多的是要理解命令的整体性。
标签: powershell ms-access