尝试在数据库表中插入行失败

时间:2014-03-25 18:10:35

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

我试图把任何东西放到我的数据库中。消息框显示我确实将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();

2 个答案:

答案 0 :(得分:0)

尝试一些简单易用的代码。

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
    }
}

答案 1 :(得分:0)

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

完整的例子,如=

  

@"数据源= C:\ Users \ MYPC \ Documents \ Visual Studio   2010 \项目\ myProjectFolder的\ MyProject的-1 \ BIN \调试\ MyDatabase.sdf;坚持   安全信息=错误;"

很好地解释了here !!