summaryrefslogtreecommitdiffstats
path: root/mysql-test/main/mysql_connector_net.ps1
blob: 159acf9361c86394e9482cb43054b88142be2cbc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
$assembly = [system.reflection.Assembly]::LoadWithPartialName("MySql.Data")
if ($assembly -eq $null)
{
  "Can't load assembly MySql.Data"
  exit 100
}

try
{
  $connectionString =[string]::Format("server=127.0.0.1;uid=root;port={0};Connection Reset=true;",$Env:MASTER_MYPORT)
  $connection = [MySql.Data.MySqlClient.MySqlConnection]@{ConnectionString=$connectionString}
  $connection.Open()

  # Test ExecuteReader()
  $command = New-Object MySql.Data.MySqlClient.MySqlCommand
  $command.Connection = $connection
  $command.CommandText = "SELECT @@old_mode"
  $reader = $command.ExecuteReader()
  $reader.GetName(0)
  while ($reader.Read())
  {
    $reader.GetValue(0)
  }

  # Test connection reset
  $connection.Close()
  $connection.Open()
  # Test ExecuteNonQuery()
  $command.CommandText="do 1";
  $affected_rows = $command.ExecuteNonQuery()
  if ($affected_rows -ne 0)
  {
    "Expected affected rows 0, actual $affected_rows"
    exit 1
  }
  # Test Prepared Statement
  $command.CommandText = "SELECT @var";
  [void]$command.Parameters.AddWithValue("@var", 1);
  $command.Prepare();
  $out = $command.ExecuteScalar();
  if ($out -ne 1)
  {
    "Expected output 1, actual $out"
    exit 1
  }
  $connection.Close()
}
catch
{
  # Dump exception
  $_
  $inner = $PSItem.Exception.InnerException
  if ($inner -ne  $null)
  {
    $PSItem.Exception.InnerException.Message
    $PSItem.Exception.InnerException.StackTrace
  }
}