c#数据库更新和插入

时间:2011-04-13 11:29:46

标签: c#

我有一个带有一些客户信息的数据库(customer_nr(主键),名称,地址等)

信息来自xml文件,存储在名为customer_info的数据库中。 现在我想更新此表,例如,如果客户更改了他想要更新表的地址,或者如果客户不存在,我想插入包含该信息的新行。现在我该怎么做?我尝试过很多不同的东西,但似乎没什么用。

示例代码:

我的插件看起来像这样:

using (var cmd = new SqlCommand("insert into [customer_info] (custoner_nr, firstName,lastName, adress_1....(and so on))", connection)) {
              cmd.Parameters.AddWithValue("@customer_nr", customerNr);
              cmd.Parameters.AddWithValue("@firstName", fName);
              cmd.Parameters.AddWithValue("@lastName", lName); 
              cmd.ExecuteNonQuery();

我的更新如下:

using (var cmd = new SqlCommand("UPDATE [customer_info] SET [customer_nr] = @customer_nr [firstName] = @firstName, [lastName] = @lastName, WHERE (([customer_nr] = @customer_nr))", connection)) {
                cmd.Parameters.AddWithValue("@custmer_nr", customerNr);
                cmd.Parameters.AddWithValue("@fornamn", fName);
                cmd.Parameters.AddWithValue("@efternamn", lName);
                cmd.ExecuteNonQuery();

我试图匹配customer_nr,如下所示:

DataRow row = dataSet.custmer_info.FindBycustomer_nr(t.customerNr);
if (bla != null) {
   updateCustomer(t.kontoNr,t.fName,t.lastname....);
} else {
   insertCustomer(t.kontoNr,t.fName,t.lastname....);
}

如果有人理解我的问题并且可以帮助我,我会非常感激,我真的卡住了,而且我测试的东西不起作用。 =(

2 个答案:

答案 0 :(得分:1)

您应该尝试使用O / RM工具,例如 EntityFramework 。你可以get started here

答案 1 :(得分:1)

据我所知,你没有打开关闭连接

using (var cmd = new SqlCommand("UPDATE [customer_info] SET [customer_nr] = @customer_nr [firstName] = @firstName, [lastName] = @lastName, WHERE (([customer_nr] = @customer_nr))", connection)) {
                cmd.Parameters.AddWithValue("@custmer_nr", customerNr);
                cmd.Parameters.AddWithValue("@fornamn", fName);
                cmd.Parameters.AddWithValue("@efternamn", lName);
                connection.Open();
                cmd.ExecuteNonQuery();
                connection.Close();