SqlCeCommand简单插入不插入

时间:2012-11-26 16:49:05

标签: c# sql-server-ce

我正在尝试为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中不可用),原因是问题,但代码的运作方式相同。

1 个答案:

答案 0 :(得分:0)

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