ASP.NET 成功执行Update 的 ExecuteNonQuery() 返回值大于0,但是查看数据库却没有改变

 1 //真实姓名保存
 2 $("#TrueNameSaveBtn").click(function () {
 3     if ($("#TrueNameSaveText").val() != "") {
 4         //上传数据
 5         $.post("/Home/UpdateUserInfo", { "item": "TrueName", "data": $("#TrueNameSaveText").val() }, function (result) {
 6             if (result == "success") {
 7                 $("#TrueNameErrorMsg").text(" * 保存成功 *");
 8
 9             } else if (result == "error") {
10                 $("#TrueNameErrorMsg").text(" * 保存失败 *");
11             }
12         });
13     } else {
14         $("#TrueNameErrorMsg").text(" * 文本框不能为空 *");
15
16     }
17 });

以上是JS代码

下面的是C# 代码

 1  public ActionResult UpdateUserInfo(string item,string data)
 2         {
 3             if (Session["username"] != null)
 4             {
 5                 string sql = "Update UserInfo set @item = @data where (LoginId = @LoginId or Email = @LoginId)";
 6                 try
 7                 {
 8                     using (SqlConnection con = new SqlConnection(connStr))
 9                     {
10                         con.Open();
11                         using (SqlCommand cmd = con.CreateCommand())
12                         {
13                             cmd.CommandText = sql;
14                             cmd.Parameters.Add(new SqlParameter("@data", data));
15                             cmd.Parameters.Add(new SqlParameter("@item", item));
16                             cmd.Parameters.Add(new SqlParameter("@LoginId", (string)Session["username"]));
17
18                             if (cmd.ExecuteNonQuery() > 0)
19                             {
20                                 return Content("success");
21                             }
22                             else
23                             {
24                                 return Content("error");
25                             }
26                         }
27                     }
28                 }
29                 catch (Exception e)
30                 {
31                     throw e;
32                 }
33             }
34             else
35             {
36                 return Content("error");
37             }
38         }

返回是success, 不过查看数据库并没有更新数据

时间: 2024-08-27 00:11:53

ASP.NET 成功执行Update 的 ExecuteNonQuery() 返回值大于0,但是查看数据库却没有改变的相关文章

ADO.NET快速入门——使用Command执行增删改操作,通过判断ExecuteNonQuery()返回值检查是否操作成功

相关知识: ExecuteNonQuery()方法:执行CommandText属性所制定的操作,返回受影响的记录条数.该方法一般用来执行SQL中的UPDATE.INSERT和DELETE等操作 对于UPDATE.INSERT和DELETE语句,执行成功返回值为该命令所影响的行数,如果影响行数为0时返回值为0,如果数据操作回滚则返回值为-1.但是对于其他的操作比如对数据库结构的操作,如果操作成功时返回的确是-1,例如给数据库添加一个数据表CREATE操作,当表创建成功返回-1,如果操作失败,则发生

ExecuteNonQuery()返回值

查询某个表中是否有数据的时候,我用了ExecuteNonQuery(),并通过判断值是否大于0来判断数据的存在与否.结果与我所设想的很不一致,调试时才发现,其执行后返回的结果是-1,对此我很是不理解,回头查了下资料,如下显示:SqlCommand.ExecuteNonQuery 方法对连接执行 Transact-SQL 语句并返回受影响的行数.备注:可以使用 ExecuteNonQuery 来执行目录操作(例如查询数据库的结构或创建诸如表等的数据库对象),或通过执行 UPDATE.INSERT

ExecuteNonQuery()返回值注意点

查询某个表中是否有数据的时候,我用了ExecuteNonQuery(),并通过判断值是否大于0来判断数据的存在与否.结果与我所设想的很不一致,调试时才发现,其执行后返回的结果是-1,对此我很是不理解,回头查了下资料,如下显示: SqlCommand.ExecuteNonQuery 方法对连接执行 Transact-SQL 语句并返回受影响的行数. 备注:可以使用 ExecuteNonQuery 来执行目录操作(例如查询数据库的结构或创建诸如表等的数据库对象),或通过执行 UPDATE.INSER

方法阻塞,方法一直阻塞,意味着这个程序卡在这里,一直不向下运行。知道这个阻塞方法执行完毕,有返回值。程序才继续向下执行

方法阻塞,方法一直阻塞,意味着这个程序卡在这里,一直不向下运行.知道这个阻塞方法执行完毕,有返回值.程序才继续向下执行. while (true) { // 当注册事件到达时,方法返回,否则该方法会一直阻塞 selector.select();  //这里将一直阻塞,程序不会向下执行.直到这个方法执行完,有返回值后 2.// 采用轮询的方式监听selector上是否有需要处理的事件,如果有,则进行处理 NIO SERVER NIO SERVERpackage com.anders.selecto

cyg_io_read返回值是0,因为读到的字节长度在参数中

len = cyg_io_read(ser_handle1, ucMasterRTURcvBuftmp, &len);// len等于0,cyg_io_read读到的字节数在参数中的红色的len,而不是前面的len cyg_io_read函数的说明中有: Syntax:Cyg_ErrNocyg_io_read( cyg_io_handle_t handle, void *buf, cyg_uint32 *len );Parameters:        handle—handle to the

创建一个接口Shape,其中有抽象方法area,类Circle 、Rectangle实现area方法计算其面积并返回。又有Star实现Shape的area方法,其返回值是0,Star类另有一返回值boolean型方法isStar;在main方法里创建一个Vector,根据随机数的不同向其中加入Shape的不同子类对象(如是1,生成Circle对象;如是2,生成Rectangle对象;如是3,生成S

题目补充: 创建一个接口Shape,其中有抽象方法area,类Circle .Rectangle实现area方法计算其面积并返回. 又有Star实现Shape的area方法,其返回值是0,Star类另有一返回值boolean型方法isStar: 在main方法里创建一个Vector,根据随机数的不同向其中加入Shape的不同子类对象(如是1,生成Circle对象: 如是2,生成Rectangle对象:如是3,生成Star对象).然后将Vector中元素依次取出,判断其是否为Star类.如是返回其

(转) c# ExecuteNonQuery() 返回值 -1

这是之前我遇到问题,在网上找解决方法时找到的,当时复制到txt文档了,今天整理笔记又看到了,贴出来,便于以后查阅.原文的作者没记住~~ 查询某个表中是否有数据的时候,如果用ExecuteNonQuery() 来判断值是否大于0来判断数据的存在与否,是不正确的. SqlCommand.ExecuteNonQuery 方法对连接执行 Transact-SQL 语句并返回受影响的行数. 备注:可以使用 ExecuteNonQuery 来执行目录操作(例如查询数据库的结构或创建诸如表等的数据库对象),或

python执行系统命令后获取返回值

import os, subprocess # os.system('dir') #执行系统命令,没有获取返回值,windows下中文乱码 # result = os.popen('dir') #执行系统命令,返回值为result# res = result.read()# for line in res.splitlines():# print(line ) #用subprocess库获取返回值.# p = subprocess.Popen('dir', shell=True, stdout=

Python 4.函数参数 返回值与文档查看(基础篇)

本章大纲:(以后文笔格式都会在开头有个大纲) -五大参数- 普通参数 默认参数 关键字参数 收集参数 收集参数解包问题 关键字收集参数 关键字收集参数解包问题 -返回值- -文档查看- -普通参数- 普通参数又名为位置参数,没有默认值,根据具体使用位置进行传值 普通参数和默认参数的不同 普通参数就是如同名字一般普通,没有默认值 而默认参数则可以规定默认值(也就是规定了默认值的普通参数而已) 但是默认参数要牢记一点:默认参数必须指向不变的对象值 请看下面例子 def add_end(L=[]):