我有一个带有一些客户信息的数据库(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....);
}
如果有人理解我的问题并且可以帮助我,我会非常感激,我真的卡住了,而且我测试的东西不起作用。 =(
答案 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();