C#更新Update数据库中某一表的值的问题

问题描述

我在数据库中建了一个表,名为:ID,含有id和number。id=001对应number=1001,002对应1002,003对应1003。然后在VS2012中建立控件如图所示:我的需求是:假设在textbox上输入id(001~003),如果id符合数据库中number=1001,那么点击BUTTON控件,将把数据库表中的number=1001更新保存为1000。我写的SQL语句是:stringsql=String.Format("updateIDsetnumber=replace(number,"1001","1000")whereid='"+textbox.Text.Tostring()+"');请各位朋友指点一下,给个源码最好,非常感谢。

解决方案

解决方案二:
"updateIDsetnumber='1000'whereid='"+textbox.Text+"'"
解决方案三:
"updateIDsetnumber='"+textbox2.text+"'whereid='"+textbox.Text+"'"
解决方案四:
引用2楼wind_cloud2011的回复:

"updateIDsetnumber='"+textbox2.text+"'whereid='"+textbox.Text+"'"

不行的
解决方案五:
是id对应number,
解决方案六:
如果id与number都是字符类型的话:stringsql=String.Format("updateIDsetnumber='"+textBox2.Text+"'whereid='"+textBox1.Text+"'");
解决方案七:
引用5楼wind_cloud2011的回复:

如果id与number都是字符类型的话:stringsql=String.Format("updateIDsetnumber='"+textBox2.Text+"'whereid='"+textBox1.Text+"'");

id&number我都设置的nvarchar我也只有一个textbox
解决方案八:
你可以用2个textbox,一个对应id,一个对应number,这样就可以
解决方案九:
需求看的头疼。修改那些满足以下两个条件的行:1.id列等于textBox输入值2.number列等于1001updateIDsetnumber='1000'whereid='“+textbox.Text+”‘andnumber='1001'

解决方案十:
stringsql=String.Format("updateIDsetnumber=replace(number,'1001','1000')whereID.id='{0}'",textbox.Text.Tostring());

为了看得清楚一些,我把SQL语句最后加了一个空格。SQL中字符串常量用单引号而不是双引号。既然使用了Fromat,就不要再用字符串连接这种很影响可读性的方法构造字符串。表名“ID",字段名”id"……我相信数据库能够分清哪个是表哪个是字段,但还是加上个“ID.”心里踏实一些。
解决方案十一:
看着有点拗口,首先是否可以理解:ID表中存在id和number两个字段,不同id对应可能相同的number?(Eg.number为1001对应的有id001、006)希望实现的效果是在textbox中填写id值,若填写的id值对应表中的number是1001,则点击button后修改该id对应的number为1000?如果这样的话,我的建议和8#是一样的。updateIDsetnumber='1000'whereid='"+Textbox.text+"'andnumber='1001'

解决方案十二:
1.既然使用string.format那就使用参数化的字符串咯:stringsql=String.Format("updateIDsetnumber={0}whereid='{1}'","1000",textbox.Text);2.把需求说明白些。你是想找到textbox上制定的id,然后更新它的number还是什么?3.需求弄彻底明白后在好好想怎么实现,一般不会用单个textbox来这么做。
解决方案十三:
number=replace(number,'1001','1000')这是在干啥?直接number='1000'不就完啦另外,你自己都没弄明白到底想怎么改,所以大家也只能乱出主意先把需求明确了再谈方法
解决方案十四:
一个update不是很简单吗?还搞那么多乱七八糟的。是用的啥数据库啊?

时间: 2025-01-27 06:16:09

C#更新Update数据库中某一表的值的问题的相关文章

dataset更新到数据库-C#中在Dataset中删除几行后无法更新到数据库中

问题描述 C#中在Dataset中删除几行后无法更新到数据库中 foreach (DataRow row in set.Tables["test"].Rows) { if (row[0].ToString() == textBox3.Text) { row.Delete(); } } set.AcceptChanges(); foreach (DataRow row in set.Tables["test"].Rows) { MessageBox.Show(row[

java中前台可以修改数据成功,但是数据却不能更新到数据库中。

问题描述 java中前台可以修改数据成功,但是数据却不能更新到数据库中. 在前台修改了数据成功后,可是数据库的数据却没有更新,还是以前的数据. <?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforg

如何让textbox中的信息更新到数据库中的列中

问题描述 如何让textbox中的信息更新到数据库中的列中 如何让textbox1和textbox2中的信息更新到数据库中的列中 解决方案 让textbox1和textbox2中的信息更新到数据库中,可以分为两步: (1) 从 textbox 中获取输入的数据,这个我想应该没有什么问题吧: (2)将数据写入数据库指定的列中,这个要看具体用的是什么数据库?个人如果对数据库不熟悉,就找点入门的资料看看. 解决方案二: using (SqlConnection connection = new Sql

修改hibernate返回的结果集,结果他自动将修改结果更新到数据库中

问题描述 我在action中通过 Criteria ca = this.getSession().createCriteria(Test.class);查询获得纪录list根据需求将list里的实体某个字段进行了包装,结果包装完成后他自动将我包装的结果更新到数据库中了,这个问题应该怎么解决代码如下if(list!= null){for(Test test:list){ if(StringUtils.isNotEmpty(test.getStatus()))test.setStatus(Statu

GridView更新时怎么把DropDownList选中值更新回数据库中???

问题描述 研究了两天把GridView中的DropDownList二级联动做好了,打开页面时DropDownList当前选中值也做好了,现在只差一步在GridView更新时子DropDownList把选中的值更新回数据库中的s_ID字段中去,应该怎么做?(子DropDownList的ID为ddl_SubDept)下面是前台及cs代码前台代码:<%@PageTitle=""Language="C#"MasterPageFile="~/MasterPag

40-.net如何从数据库中的一个表中取值

问题描述 .net如何从数据库中的一个表中取值 假设这是我数据库里的一张表(数据库是oracle),我该如何取得这些数将他们传给jsonObj.Rows,求教各位大神,能给个具体的实现过程吗? 解决方案 sonObj.Rows是你自己组装的json对象吧,你首先要查询数据库,这个自己看msdn把,很简单,获取值后开始组织json就行了 解决方案二: 自己读取数据后,通过服务器端代码赋值给aspx上的script标签就行,注意<%%>这种代码不能放js文件里面,必须是在aspx页面里面才能解析运

asp.net用gridview显示数据库中两个表的数据?

问题描述 asp.net用gridview显示数据库中两个表的数据? asp.net用gridview显示数据库中两个表的数据?把两表绑定在datatable并用gridview显示数据 解决方案 两个表什么关系?如果是一样的表结构,用union连接,如果是主系表关系,那么可以用join.具体按照我说的google下. 解决方案二: 不管是查询几个表,最后通过sql语句走ado.net,查询出来的数据都放入DataTable或DataSet中,然后绑定到gridview 解决方案三: 如果是一起

sql-将一个数据库中的所有表复制到另一个数据库中

问题描述 将一个数据库中的所有表复制到另一个数据库中 两个数据库不在一个服务器上!!! 比如我本机的ip地址为11.12.13.15 数据库名称为sqljiang 登陆名和密码分别为sa和sa123 服务器的ip为22.33.55.66 数据库名称为sqlfwqsjl 服务器中的数据库是空的 现在我想将本机sqljiang中的所有信息完整复制到服务器中,包括表结构. 表中的数据.视图.存储过程等,如何通过脚本实现. 由于服务器没有这么大的权限,因此不能通过直接还原数据库备份的方法... 解决方案

select-在C#的combobox中显示数据库中所有的表名,但是sql语句不知道怎么写

问题描述 在C#的combobox中显示数据库中所有的表名,但是sql语句不知道怎么写 List<string> tableNames = "Select( (string)x["Table_Name"] from dt where type=1 and flags=0)"; dt是连接数据库时设定的表名 解决方案 sql语句如下所示:SELECT NAME FROM SYSOBJECTS WHERE TYPE='U' 前提是提前设置好config配置文