在C#中,结果看起来很成功,但数据没有插入数据库中

时间:2015-04-04 10:19:33

标签: c# sql sql-server

我几天都在挠头,无法找到我做错的事。我在本地database.Dataset中有一个数据库“compinfo.sdf”和表“cname”为“compinfoDataset”。我正在使用此代码插入数据。

static class sqlFunction
{
  static public void insert(String _compName)
  {
    static private SqlCeConnection connection =
        new SqlCeConnection(@"Data Source=|DataDirectory|\compinfo.sdf");
     try
     {
        connection.Open();
        SqlCeCommand commandInsert = new SqlCeCommand("INSERT into [cname]  VALUES (@companyName)", connection);
        commandInsert.Parameters.AddWithValue("@companyName", _compName);
        int result = commandInsert.ExecuteNonQuery();
        MessageBox.Show(result.ToString());
    }
    catch (SqlCeException exception)
    {
            MessageBox.Show(exception.ToString());
    }
    finally
    {
        connection.Close();
    }
  }
}

我从另一个班级发送数据:

sqlfunction.insert(companyName);

因此,当执行此代码时,我将执行结果作为1(在消息框中)。但是当我检查数据库表中的数据时,它再也没有了。请帮我找到错误。

1 个答案:

答案 0 :(得分:1)

最有可能将Visual Studio设置为始终将sdf文件复制到bin目录,覆盖以前的所有更改。将行为更改为“请勿复制”,如in this article所述。