try
{
$cmd = $Connection.CreateCommand()
$cmd.CommandText = "DROP TABLE Temp"
$cmd.ExecuteNonQuery() | Out-Null
}
catch {}
$cmd = $Connection.CreateCommand()
$cmd.CommandText = @"
CREATE TABLE Temp (
PurchasingDocument TEXT(50),
Item TEXT(10),
NameOfVendor TEXT(50),
DateSendToSupplier DATETIME,
GoodsSupplierNumber TEXT(100),
GoodsSupplierName TEXT(100),
CompleteName TEXT(255)
)
"@
$cmd.ExecuteNonQuery()
foreach ($__row in $FilterTable) {
$cmd = $Connection.CreateCommand()
$cmd.CommandText = @"
INSERT INTO Temp
(
PurchasingDocument,
Item,
NameOfVendor,
DateSendToSupplier,
GoodsSupplierNumber,
GoodsSupplierName,
CompleteName
)
VALUES (?, ?, ?, ?, ?, ?, ?)
"@
# PurchasingDocument
$null = $cmd.Parameters.Add("@p1", [System.Data.OleDb.OleDbType]::VarWChar, 50)
$cmd.Parameters[0].Value = [string]$__row.'Purchasing Document'
# Item
$null = $cmd.Parameters.Add("@p2", [System.Data.OleDb.OleDbType]::VarWChar, 10)
$cmd.Parameters[1].Value = [string]$__row.Item
# NameOfVendor
$null = $cmd.Parameters.Add("@p3", [System.Data.OleDb.OleDbType]::VarWChar, 255)
$cmd.Parameters[2].Value = [string]$__row.'Name Of Vendor'
# DateSendToSupplier
$null = $cmd.Parameters.Add("@p4", [System.Data.OleDb.OleDbType]::Date)
$dateString = [string]$__row.'Date sent to Supplier.'
if (
[string]::IsNullOrWhiteSpace($dateString) -or
$dateString -eq "00/00/0000"
) {
$cmd.Parameters[3].Value = [DBNull]::Value
}
else {
$cmd.Parameters[3].Value = [datetime]::ParseExact(
$dateString,
"dd/MM/yyyy",
[System.Globalization.CultureInfo]::InvariantCulture
)
}
# GoodsSupplierNumber
$null = $cmd.Parameters.Add("@p5", [System.Data.OleDb.OleDbType]::VarWChar, 100)
$cmd.Parameters[4].Value = [string]$__row.'Goods supplier numb.'
# GoodsSupplierName
$null = $cmd.Parameters.Add("@p6", [System.Data.OleDb.OleDbType]::VarWChar, 100)
$cmd.Parameters[5].Value = [string]$__row.'Goods supplier name'
# CompleteName
$null = $cmd.Parameters.Add("@p7", [System.Data.OleDb.OleDbType]::VarWChar, 255)
$cmd.Parameters[6].Value = [string]$__row.'Complete name'
$cmd.ExecuteNonQuery() | Out-Null
}