【发布时间】:2017-06-22 16:52:38
【问题描述】:
我正在尝试在我的用户表 (SQL Server Compact 3.5) 中插入一行。这是我的查询(LastName、FirstName 和 UserPassword 是 NVARCHAR,IsActive 是 BIT):
INSERT INTO Users (LastName, FirstName, IsActive, UserPassword) VALUES ('J', 'R', 1, 'T')
我在 C# 中将其转换为以下代码块:
string returnQuery = "INSERT INTO Users (LastName, FirstName, IsActive, UserPassword)"
+ "VALUES(" + "'" + "@LastName" + "', '" + "@FirstName" + "', @IsActive" + ",'" + "@UserPassword" + "'";
SqlCeCommand returnQueryCommand =
new SqlCeCommand(returnQuery, connection) { CommandType = CommandType.Text };
returnQueryCommand.Parameters.AddWithValue("@LastName", newUser.LastName);
returnQueryCommand.Parameters.AddWithValue("@FirstName", newUser.FirstName);
returnQueryCommand.Parameters.AddWithValue("@IsActive", newUser.IsActive);
returnQueryCommand.Parameters.AddWithValue("@UserPassword", newUser.UserPassword);
运行代码时出现解析错误。但是,当我直接通过 CompactView 运行查询时,该行被插入就好了。
我在另一个方法中执行了查询(我从这个方法返回 SqlCeCommand)。
想法?
【问题讨论】:
-
只是
INSERT INTO Users (LastName, FirstName, IsActive, UserPassword) VALUES (@LastName, @FirstName, @IsActive, @UserPassword)
标签: c# sql-server-ce