作者james999 (无伤大雅)
看板Database
标题[SQL ] Update时,如果主键不存在,依然成功@@?
时间Wed Sep 18 09:58:53 2019
资料库名称:SQLite
资料库版本:3
内容/问题描述:
程式码如下:
--
string connectStr;
connectStr = ConfigurationManager.AppSettings["conStr"];
SQLiteConnection myConnection = new SQLiteConnection(connectStr);
SQLiteCommand sqlCmd = new SQLiteCommand();
sqlCmd.CommandType = System.Data.CommandType.Text;
sqlCmd.CommandText = "Update [tblIdentity] Set Name = @Name,
ColorCode = @ColorCode where IdentityGUID = @IdentityGUID";
sqlCmd.Connection = myConnection;
sqlCmd.Parameters.Add("@IdentityGUID", DbType.String);
sqlCmd.Parameters["@IdentityGUID"].Value =
paramUpdateIdentity.IdentityGUID;
sqlCmd.Parameters.Add("@Name", DbType.String);
sqlCmd.Parameters["@Name"].Value = paramUpdateIdentity.Name;
sqlCmd.Parameters.Add("@ColorCode", DbType.String);
sqlCmd.Parameters["@ColorCode"].Value =
paramUpdateIdentity.ColorCode;
--
在测试时尝试传入不存在的IdentityGUID,结果没有报错...
原本存在於资料库内的资料也没有变化,请问本来就这样吗@@?
谢谢..
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 220.132.128.217 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Database/M.1568771935.A.4AD.html
※ 编辑: james999 (220.132.128.217 台湾), 09/18/2019 09:59:28
1F:→ konkonchou: update不存在的抓影响列数会得到0, 不会报错 09/19 10:39
2F:→ konkonchou: 或有特殊需求, 譬如判断不存在insert, 可改用replace 09/19 10:40
3F:推 far0802: 要取得改变的资料可以用@@rowcount来进行判断是否成功 10/02 01:50