0

我正在尝试为 SQL Server CE 数据库编写一个简单的插入语句,并且我的代码运行良好!...除了该行实际上并没有插入到数据库中...

我的代码是:

public static int InsertTourCreater(string userName, string password)
{
    SqlCeConnection connection = GuidedTourDB.GetConnection(); //Returns connection
    string insertStatement =
            "INSERT INTO [Tb_Creater] " +
            "([User_Name], [Password]) " +
            "VALUES (@UserName, @Password)" ;
    SqlCeCommand insertCommand = new SqlCeCommand(insertStatement, connection);
    insertCommand.Parameters.Add(new SqlCeParameter("@UserName", SqlDbType.NVarChar)).Value = userName;
    insertCommand.Parameters.Add(new SqlCeParameter("@Password", SqlDbType.NVarChar)).Value = password; 

    try
    {
        connection.Open();
        int success = insertCommand.ExecuteNonQuery();
        return success; 
    }

代码运行良好。在调试模式下单步执行,连接打开,所有值都被正确添加,ExecuteNonQuery()返回值为 1,但随后我Tb_Creater在服务器资源管理器中查看表数据,但记录不存在。

我已经刷新甚至重新启动了 Visual Studio。不在那里。不抛出异常。

注意:我添加这样的参数,而不是AddWithValue()因为我担心varchar默认情况下字符串会转换为(在 SQL Server CE 中不可用)并导致问题,但是代码的操作方式相同。

4

1 回答 1

0

我碰巧遇到了这个问题并解决了。来到您的调试输出路径并以管理员模式运行您的应用程序(exe) 。因为我看到了您无权访问 sdf 文件的日志消息。实际上视觉工作室中没有任何错误弹出窗口。

于 2015-12-15T14:55:51.947 回答