SQL CE 插入查询仅适用于 C# 之外
SQL CE Insert Query works only outside of C#
我正在尝试在我的用户 table (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)。
想法?
值后缺少右括号
您给定的代码似乎缺少用于关闭 "VALUES" 数据的右括号。
string returnQuery = "INSERT INTO Users (LastName, FirstName, IsActive, UserPassword)" + "VALUES(" + "'" + "@LastName" + "', '" + "@FirstName" + "', @IsActive" + ",'" + "@UserPassword" + "')";
我正在尝试在我的用户 table (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)。
想法?
值后缺少右括号
您给定的代码似乎缺少用于关闭 "VALUES" 数据的右括号。
string returnQuery = "INSERT INTO Users (LastName, FirstName, IsActive, UserPassword)" + "VALUES(" + "'" + "@LastName" + "', '" + "@FirstName" + "', @IsActive" + ",'" + "@UserPassword" + "')";