2010-12-28 15 views
1

PowerShellを使用してMySQLデータベースにデータを挿入したいとします。PowerShell MySQLクエリ構文

私のコードは動作していますが、挿入文字列内の変数には少し問題があります。

どのように変数を挿入文字列で使用できますか?

[system.reflection.assembly]::LoadWithPartialName("MySql.Data") 
$cn = New-Object -TypeName MySql.Data.MySqlClient.MySqlConnection 
$cn.ConnectionString = "SERVER=localhost;DATABASE=test;UID=root;PWD=pwd" 
$cn.Open() 
$cm = New-Object -TypeName MySql.Data.MySqlClient.MySqlCommand 


#The problem, not working 
$n = 7 
$sql = 'INSERT INTO db1ea4test1.besitzer (besID, Vorname, Name) VALUES ('$n' , "Testvor" + '$n' , "Testnach" + '$n')' 

# Working 
#$sql = 'INSERT INTO db1ea4test1.besitzer (besID, Vorname, Name) VALUES ("6", "Testvor", "Testnach")' 


$cm.Connection = $cn 
$cm.CommandText = $sql 
$dr = $cm.ExecuteNonQuery() 

答えて

3

、SQL文字列の二重引用符を使用してみてください、個々の変数の周りの単一引用符とあなたの連結変数が引用される保証する:

$sql = "INSERT INTO db1ea4test1.besitzer (besID, Vorname, Name) VALUES ('$n' , 'Testvor$($n)' , 'Testnach$($n)')" 
+0

グレート!それは働いている!どうもありがとうございました! – LaPhi