mysql - Powershell 和 MySql ExecuteNonQuery 的问题

标签 mysql powershell

我正在处理的 powershell 脚本试图针对数据库运行某些脚本文件 (.sql) 的内容。我知道数据库连接正在工作并且 powershell 脚本可以查询数据库,因为我已经能够让我的脚本确认数据库中存在一条记录。我遇到的问题是让脚本对数据库执行插入。我脚本的相关部分是:

function RunNonQuery($commandText) {
    $conn = New-Object MySql.Data.MySqlClient.MySqlConnection
    $conn.ConnectionString = GetConnString
    $conn.Open()
    $cmd = $conn.CreateCommand()
    $cmd.CommandText = $commandText
    $rowsAffected = $cmd.ExecuteNonQuery()
    $cmd.Dispose()
    $conn.Close()
    return $rowsAffected
}

“GetConnString”只是一个返回事件连接字符串的方法。 $commandText 变量的内容是:

-- CreationDate=4/11/2013 1:04:51 PM

INSERT INTO Patch (PatchName) VALUES ('TestFromPatchFile');

通过调试 powershell 脚本,我可以看出命令文本已正确传递到我的“RunNonQuery”方法中。它似乎并没有真正针对数据库执行脚本。 $rowsAffected 始终为 0,并且执行时没有错误。查看实际数据库,我可以确认插入没有发生。

有人知道我的“RunNonQuery”方法有什么问题吗?

最佳答案

您应该替换 CommandText 中的 -- 注释。 MySqlClient 可能不会注意到换行符,因此,它会注释掉整个命令。

关于mysql - Powershell 和 MySql ExecuteNonQuery 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15959509/

相关文章:

PowerShell 日期/时间转换

powershell - 如何使用Powershell以编程方式找到用户HKEY_USERS注册表项?

string - Powershell脚本-文件命名,日期时间和FTP

powershell - 如何访问数组内指定索引的元素的属性?

MySQL的外键名称是什么?

mysql - ORDER BY 减慢 mysql 查询速度

mysql - 在 django 中用 group by 列的总和

java - MySQl 和 autoReconnect=true 仍然给我异常

python - 值错误: too many values to unpack (expected 3)//Werkzeug Debugger

powershell - Cygwin 的交互式 Powershell