I have used two different IDEs (VS Code and Sapien PowerShell Studio)
As well as PowerShell itself.
I Installed the Connector/Net 9.2 and when i try to create a class in PowerShell, I have issues where it tells me classes do not exist.
My class is just a convenient wrapper around the connector to simplify calls.
Every item where a where a type class in a [] tells me the type is not found. If i run the add-type in a prompt, a script will run but PowerShell Studio does not allow for that in the IDE and I do not run it inside VSCode, i just put up with the error.s
I have added the assembly as part of the Studio's default assemblies but it still has the issue.
But the telling thing is that if i just create a class and dot run the file without adding the type on the command line before running, i get all the same errors.
using assembly 'C:\Program Files (x86)\MySQL\MySQL Connector NET 9.2\MySql.Data.dll'
class Database {
#ANCHOR - Database
[string]$CNString
[MySql.Data.MySqlClient.MySqlConnection]$Connection
[void]Connect() {
$connectionobject = New-Object MySql.Data.MySqlClient.MySqlConnection($this.CNString)
$connectionobject.Open()
$this.Connection = $connectionobject
}
[System.Data.DataSet]GetRecords([string]$Query) {
# $connection = [MySql.Data.MySqlClient.MySqlConnection]::New($this.CNString)
Try {
$DataSet = [MySQL.Data.MySQLClient.MySQLHelper]::ExecuteDataset($this.connection, $Query)
Return $DataSet
}
Catch {
Write-Host "ERROR : Unable to run query : $query `n$($Error[0])"
Return $null
}
Finally {
}
}
[System.Data.DataSet]ExecuteDataset([string]$Query, [MySql.Data.MySqlClient.MySqlParameter[]]$Params) {
# $connection = New-Object MySql.Data.MySqlClient.MySqlConnection($this.CNString)
# $connection = [MySql.Data.MySqlClient.MySqlConnection]::New($this.CNString)
Try {
$DataSet = [MySQL.Data.MySQLClient.MySQLHelper]::ExecuteDataset($this.connection, $Query, [MySql.Data.MySqlClient.MySqlParameter[]]$Params)
Return $DataSet
}
Catch {
Write-Host "ERROR : Unable to run query : $query `n$($Error[0])"
Return $null
}
Finally {
# $This.connection.Close()
}
}
[System.Data.DataSet]ExecuteDataset([string]$Query) {
# $connection = New-Object MySql.Data.MySqlClient.MySqlConnection($this.CNString)
# $connection = [MySql.Data.MySqlClient.MySqlConnection]::New($this.CNString)
Try {
$DataSet = [MySQL.Data.MySQLClient.MySQLHelper]::ExecuteDataset($this.connection, $Query)
Return $DataSet
}
Catch {
Write-Host "ERROR : Unable to run query : $query `n$($Error[0])"
Return $null
}
Finally {
# $This.connection.Close()
}
}
[int]ExecuteNonQuery([string]$Query, $Params) {
# $connection = [MySql.Data.MySqlClient.MySqlConnection]::New($this.CNString)
# $connection = New-Object MySql.Data.MySqlClient.MySqlConnection($this.CNString)
Try {
# $connection.Open()
$DataSet = [MySQL.Data.MySQLClient.MySQLHelper]::ExecuteNonQuery($this.connection, $Query, $Params)
Return $DataSet
}
Catch {
Write-Host "ERROR : Unable to run query : $query `n$($Error[0])"
Return $null
}
Finally {
# $This.connection.Close()
}
}
[int]ExecuteNonQuery([string]$Query) {
# $connection = [MySql.Data.MySqlClient.MySqlConnection]::New($this.CNString)
# $connection = New-Object MySql.Data.MySqlClient.MySqlConnection($this.CNString)
Try {
# $connection.Open()
$DataSet = [MySQL.Data.MySQLClient.MySQLHelper]::ExecuteNonQuery($this.connection, $Query, $null)
Return $DataSet
}
Catch {
Write-Host "ERROR : Unable to run query : $query `n$($Error[0])"
Return $null
}
Finally {
# $This.connection.Close()
}
}
[String]ExecuteScalarStr([string]$Query) {
# $connection = [MySql.Data.MySqlClient.MySqlConnection]::New($this.CNString)
# $connection = New-Object MySql.Data.MySqlClient.MySqlConnection($this.CNString)
Try {
# $connection.Open()
$Value = [MySQL.Data.MySQLClient.MySQLHelper]::ExecuteScalar($this.connection, $Query)
Return $Value
}
Catch {
Write-Host "ERROR : Unable to run query : $query `n$($Error[0])"
Return $null
}
Finally {
# $This.connection.Close()
}
}
[String]ExecuteScalarStr([string]$Query, $Params) {
# $connection = [MySql.Data.MySqlClient.MySqlConnection]::New($this.CNString)
# $connection = New-Object MySql.Data.MySqlClient.MySqlConnection($this.CNString)
Try {
# $connection.Open()
$Value = [MySQL.Data.MySQLClient.MySQLHelper]::ExecuteScalar($this.connection, $Query, $Params)
Return $Value
}
Catch {
Write-Host "ERROR : Unable to run query : $query `n$($Error[0])"
Return $null
}
Finally {
# $This.connection.Close()
}
}
[Int]ExecuteScalarInt([string]$Query) {
# $connection = [MySql.Data.MySqlClient.MySqlConnection]::New($this.CNString)
# $connection = New-Object MySql.Data.MySqlClient.MySqlConnection($this.CNString)
Try {
# $connection.Open()
$Value = [MySQL.Data.MySQLClient.MySQLHelper]::ExecuteScalar($this.connection, $Query)
Return $Value
}
Catch {
Write-Host "ERROR : Unable to run query : $query `n$($Error[0])"
Return 0
}
Finally {
# $This.connection.Close()
}
}
[Int]ExecuteScalarInt([string]$Query, $Params) {
# $connection = [MySql.Data.MySqlClient.MySqlConnection]::New($this.CNString)
# $connection = New-Object MySql.Data.MySqlClient.MySqlConnection($this.CNString)
Try {
# $connection.Open()
$Value = [MySQL.Data.MySQLClient.MySQLHelper]::ExecuteScalar($this.connection, $Query, $Params)
Return $Value
}
Catch {
Write-Host "ERROR : Unable to run query : $query `n$($Error[0])"
Return 0
}
Finally {
# $This.connection.Close()
}
}
[MySql.Data.MySqlClient.MySqlParameter]MakeParameter($ParameterName, $Value) { #$Type, $Size,
$Parameter = New-Object MySql.Data.MySqlClient.MySqlParameter($ParameterName,$Value ) #[MySql.Data.MySqlClient.MySqlDbType]$Type,$Size
# $Parameter.Value =
Return $Parameter
}