如何在Visual Studio 2010中将数据保存到本地数据库?

时间:2015-10-23 11:05:14

标签: c# sql sql-server visual-studio-2010 sql-server-ce

我知道要将数据添加到SQL Server数据库但不知道要将数据添加到Visual Studio 2010中具有.sdf扩展名的本地数据库,请给我一些代码示例,通过C#将数据添加到本地数据库。

string cb = "Insert into tblFees(Salutation,Name) VALUES (@d1,@d2)";  //id  li

cmd = new SqlCommand(cb);
cmd.Connection = con;
cmd.Parameters.AddWithValue("@d1", cmbSalutation.Text);
cmd.Parameters.AddWithValue("@d2", tbName.Text);                

cmd.ExecuteReader();

MessageBox.Show("Successfully saved", "Patient Details", MessageBoxButtons.OK, MessageBoxIcon.Information);

2 个答案:

答案 0 :(得分:1)

您需要提供

的参考
 System.Data.SqlServerCe (in system.data.sqlserverce.dll)

并替换

SqlConnection with SqlCeConnection

SqlCommand with SqlCeCommand

答案 1 :(得分:0)

ExecuteReader会返回您查询的数据。您需要使用ExecuteNonQuery,因为您没有返回任何数据,只需插入即可。

使用using语句顺便自动处理您的连接和命令。

不要使用AddWithValue方法。 It may generate unexpected and surprising results sometimes。使用Add method overloads指定参数类型及其大小。

using(var con = new SqlConnection(conString))
using(var cmd = con.CreateCommand())
{
   cmd.CommandText = "Insert into tblFees(Salutation,Name) VALUES (@d1,@d2)";
   cmd.Parameters.Add("@d1", SqlDbType.NVarChar).Value = cmbSalutation.Text;
   cmd.Parameters.Add("@d2", SqlDbType.NVarChar).Value = tbName.Text;

   con.Open();
   cmd.ExecuteNonQuery();
}