UPDATE member_fields SET province = '$city', city = '$city' WHERE mid = 4007
这种修改的时候,province 能保证每次得到最新的$city值?而city不可以?尝试查看提交页面,看city相对应的代码,是否和province 完全一致?还是有其他不同?
将提交页面覆写,将city改名,进行尝试
代码问题往往就是一个极小的疏忽导致的。仔细,再仔细。
connOpen();
SqlCommand myCommand = new SqlCommand(sql,conn);
SqlDataAdapter myAdapter = new SqlDataAdapter(myCommand);//new一个adapter对象
SqlCommandBuilder build = new SqlCommandBuilder(myAdapter);
这块没必要这么写吧
你不就是执行一个添加么
直接用
connOpen();
SqlCommand myCommand = new SqlCommand(sql,conn);
myCommandExecuteNonQuery()
就可以了啊
修改后的udpate语句,因为没有where过滤条件,所以会是全表更新。
根据ID更新没反应首先确定是数据库里数据本身没有更新,还是数据更新了页面却显示不是更新后的数据。
如果是数据库数据没有更新,可能原因是你获取的ID在数据库不存在,或者你的update语句存在问题,或者更新后没有提交事物,等等。
如果数据库数据更新而页面显示不是更新后的数据,这个应该是你请求到后台更新数据成功后,前台页面没有刷新的原因。
目测可能是少加了个单引号
假设是今天执行的, income = 123 你的 实际执行的语句为:
update [payofftable] set [income]='123' where [time]= 2013-5-15
后面那个 2013-5-15 最后会被按照 int 类型来处理, 变成 2013 减5 减15
正确的写法应该为
update [payofftable] set [income]='123' where [time]= '2013-5-15'
大致看了下,你是用的ss创建的update语句,但是你执行的是ps那个,就是你的update语句并没有执行啊,
你应该把
tc=psexecuteQuery();
改为:
ssexecuteUpdate();
原因是未commit提交或传递参数时存在同名id。解决方法:
1、需要通过代码主动commit,方能使本次数据库 *** 作生效。
2、sqlplus数据库附加同名的数据库,并将同名数据库修改为另外一个名字导入再进来入。
很简单
1、在SQL语句执行之前增加断点
2、扑获当时的SQL
3、去数据库中验证该SQL语句是否可以正确Update,或者DElete
写数据库的 *** 作,基本上都要在SQL语句的地方加断点调试的
以上就是关于mysql update 更新数据时部分字段修改了部分字段没有修改全部的内容,包括:mysql update 更新数据时部分字段修改了部分字段没有修改、sql更新成功,但数据库数据未更新、mysql,java修改页面,能正确读取数据,提交数据也能正确提交,但是提交之后内容不变,等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)