我将.csv导入变量$ user。然后,我可以使用$ user.ARN(例如)访问每个字段。这很好。
但是我需要使用这个变量构建一个字符串。
$SQLQuery = "USE Cardpresso INSERT INTO dbo.students (Name, ARN, CardNumber, isPrinted) VALUES('$DisplayName', $User.ARN , $CardNumber, 0);"
当我检查$ SQLQuery变量中的内容时,它将整个csv行保存在$ User.ARN的位置。
USE Cardpresso INSERT INTO dbo.students (Name, ARN, CardNumber, isPrinted) VALUES('%%% %%%', @{FirstName=%%%; LastName=%%%; ARN=%%%; Group=%%%; Email=unknown@unknow.com; Pass=%%%; Site=%%%; CardNumber=}.ARN , 508, 0);
(%%%是真实数据,刚删除)
为什么$ User.ARN不仅仅被替换为该字段的数据,而是输入整行?
由于
答案 0 :(得分:0)
对于文件" sample.csv"内容:
name,age,gender
billy,22,M
suzie,26,F
mikey,19,M
Tez,22,F
我正在导入CSV,并且我正在制作每条记录的插入语句:
$stuff = Import-Csv -Delimiter ',' -Path .\sample.csv
foreach ($thing in $stuff) {
echo "INSERT INTO Cardpresso.dbo.students (Name, Age, Gender) VALUES ('$(${thing}.name), $(${thing}.age), '$(${thing}.gender)');"
}
直播示例......
祝你好运。