【问题标题】:Attempt to insert a row in database table fails尝试在数据库表中插入行失败
【发布时间】:2014-05-03 18:53:48
【问题描述】:

我正在尝试将任何内容放入我的数据库。消息框显示我确实将 1 行放入 DB,但是当我检查它时 - 什么也没发生。

有人知道治疗方法吗?

SqlCeConnection cn = new SqlCeConnection(@"Data Source = Database1.sdf");
try
{
    cn.Open();
}
catch (SqlCeException ex)
{
    MessageBox.Show(ex.Message, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error);
    Application.ExitThread();
}

SqlCeCommand cm = new SqlCeCommand("INSERT INTO Sentences (Sentence) VALUES ('Sentence')", cn);
//cm.Parameters.AddWithValue("@Sentence", "Any sentence");
try
{
    int rowsAffected = cm.ExecuteNonQuery();
    MessageBox.Show((rowsAffected.ToString()));
}
catch (Exception)
{
    MessageBox.Show("Insertion Failed");
}
cn.Close();

【问题讨论】:

  • 不要在标题中使用标签!!
  • 您是否在任何地方提交事务? stackoverflow.com/questions/2912112/…
  • 你确定吗?关闭然后重新打开表。
  • “当我检查时”是什么意思?你是怎么检查的?
  • 我不想使用事务,因为我不需要。我使用了youtube.com/watch?v=blNb-9vhFLM,对这个人来说它有效。我在 MS Visual Studio 中检查了它。 - 右键单击​​我的表格 -> “显示表格数据”

标签: c# sql sql-server-ce-4


【解决方案1】:

尝试一些漂亮而简单的代码。

using (SqlCeConnection con = new SqlCeConnection(strConn))
{
   try
   {
        con.Open();
        using (SqlCeCommand cmd = new SqlCeCommand("insert into Table (column1,Column2) values (@Val1, @val2)", con))
        {
            cmd.Parameters.AddWithValue("@Val1", value1);
            cmd.Parameters.AddWithValue("@Val2", value2);
            cmd.CommandType = System.Data.CommandType.Text;
            cmd.ExecuteNonQuery();
        }
        con.Close();
    } catch (Exception ex){
        //handle any exception here
    }
}

【讨论】:

  • 好的,我改变了它,但什么也没发生......但是如果我在我的 Visual Studio 中使用“新查询”并将任何数据放在那里它就可以工作......有什么线索吗?
【解决方案2】:

建议您在连接字符串中使用数据库文件的完整路径。

完整的例子像 =

@"数据源=C:\Users\MYPC\Documents\Visual Studio 2010\Projects\MyProjectFolder\MyProject-1\bin\Debug\MyDatabase.sdf;坚持 安全信息=假;"

解释得很好here!!

【讨论】:

  • 如果其他人运行您的代码,如果它在任何其他机器上、在任何其他版本的 Visual Studio 上或从调试器以外的任何地方运行,这将不起作用。您应该使用环境变量或部署属性。
  • @user1798039 如果解决了您的问题,请标记为答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-15
  • 2011-10-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多