我想在我的用户表(SQL Server Compact 3.5)中插入一行。这是我的查询(姓,名和的userPassword是NVARCHAR,IsActive是BIT):SQL CE插入查询只能在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);
我得到一个解析错误运行时:
INSERT INTO Users (LastName, FirstName, IsActive, UserPassword) VALUES ('J', 'R', 1, 'T')
我在C#转换这下面的代码块我的代码。但是,当我直接通过CompactView运行查询时,行插入得很好。
我在另一个方法中执行查询(我从这个方法返回SqlCeCommand)。
想法?
这只是'INSERT INTO用户(姓氏,名字,IsActive,userPassword的)VALUES(@LastName,@firstName,@IsActive,@UserPassword)' – LarsTech