【问题标题】:C# - ExecuteNonQuery() isn't working with SQL Server CEC# - ExecuteNonQuery() 不适用于 SQL Server CE
【发布时间】:2010-02-03 15:25:04
【问题描述】:

我收到了一些用户输入的数据,这些数据应该添加到数据库文件 (.sdf) 中。我选择了 Sql Server CE,因为这个应用程序非常小,而且我没有看到需要使用基于服务的数据库。

无论如何。

代码如下:

public class SqlActions
{
    string conStr = String.Format("Data Source = " + new System.IO.FileInfo(System.Reflection.Assembly.GetExecutingAssembly().Location).DirectoryName + "\\basedados.sdf");

    public SqlCeConnection SQLCEConnect()
    {
        SqlCeConnection Connection = new SqlCeConnection(conStr);
        Connection.Open();
        return Connection;
    }

    public Boolean AdicionarAuditorio(string Nome, int Capacidade)
    {
        string Query = "INSERT INTO auditorios (nome, capacidade) VALUES (@Nome, @Capacidade)";
        using (var SQLCmd = new SqlCeCommand(Query, SQLCEConnect()))
        {
            SQLCmd.Parameters.AddWithValue("@Nome", Nome);
            SQLCmd.Parameters.AddWithValue("@Capacidade", Capacidade);
            if (SQLCmd.ExecuteNonQuery() == 1)
            {
                return true;
            } else {
                return false;
            }

        }
    }
}

我使用AdicionarAuditorio(string Nome, int Capacidade) 函数插入数据。运行ExecuteNonQuery(),它应该在他运行查询后返回受影响的行数。 所以如果查询成功,它应该返回1,对吧?

最后他返回1,但是如果我浏览表数据,查询应该添加的数据不存在。

那么这里有什么问题?

注意。如果你认为 问题是连接:我看不到 为什么一旦我得到一些问题 选择使用它的语句 连接函数SQLCEConnect() 而且它们都工作得很好。

提前致谢。

【问题讨论】:

  • 澄清一下,当您将SQLCmd.ExecuteNonQuery 的结果存储到一个临时变量时,该值是1——对吗?
  • 是的。根据 Visual Studio Debugger,临时 var 的值为 1。

标签: c# sql sql-server-ce


【解决方案1】:

您确定您正在查看正确的文件吗?当您在 VS 中构建应用程序时,它会将 SDF 文件作为内容复制到目标文件夹,因此您项目中的数据库不会反映任何更新。您的代码正在那里获取文件位置。

顺便说一句,这不是一个好习惯,因为一旦部署,程序文件夹就不能写入您的应用程序(这可能是问题 - 您已经部署了吗?)。相反,数据库文件应位于您的 appdata 文件夹中。

【讨论】:

  • 我永远不会对它强硬。你的权利。这就是问题所在。谢谢。
【解决方案2】:

您是否可以在不调用transactionScope.Complete() 的情况下调用TransactionScope 中的AdicionarAuditorio

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-11
    • 2023-03-23
    • 2016-10-16
    相关资源
    最近更新 更多