插入数据不会复制到数据库中

时间:2011-09-25 10:58:32

标签: c# .net tsql ado.net sql-server-ce

我编写了一个示例代码,用于将数据插入到表中,并且表示已成功插入,但是当我在数据库资源管理器中看到数据库中的数据时,表中没有显示任何内容。

当我尝试检索数据时,它会打印这些值。我仍然没有在Visual Studio服务器资源管理器中找到任何记录。

我试图谷歌这个问题,我在调试文件夹中找到了另一个复制这些结果的数据库。

当我删除该数据库时,我遇到了“连接失败”错误。

这是示例代码:

DomainId_connection = openConnection();

cmd = new SqlCeCommand("INSERT INTO Temp_Table_(Id,StartTime) values(@Id ,@StartTime)");

cmd.Parameters.Add("@Id", SqlDbType.Int, 4);
setDomainId_cmd.Parameters.Add("@StartTime", SqlDbType.DateTime, 8);

cmd.Parameters["@Id"].Value = Id;
cmd.Parameters["@StartTime"].Value = DateTime.Now;

cmd.Connection = setDomainId_connection;
if (cmd.ExecuteNonQuery() > 0)
{
    Console.WriteLine("Domain id stored");
}

closeConnection(setDomainId_connection);

有人可以帮我做这项工作吗?

2 个答案:

答案 0 :(得分:2)

不要共享连接,使用连接池,使用块等等:

using (SqlConnection connection = new SqlConnection(connectionString))
using (SqlCommand command = connection.CreateCommand())
{
    command.CommandText = commandText;

    command.Parameters.Add("@Id", SqlDbType.Int, 4).Value = id;
    command.Parameters.Add("@StartTime", SqlDbType.DateTime, 8).Value =  DateTime.Now;

   if (!(cmd.ExecuteNonQuery() > 0))
       throw new Exception("Domain id was not stored");
}

答案 1 :(得分:0)

您必须将连接字符串更改为指向服务器资源管理器中使用的其他数据库。