sql数据更新

[复制链接]
查看11 | 回复4 | 2011-7-1 10:31:26 | 显示全部楼层 |阅读模式
表A
id
name
age
1
张三
18
2
李四
20
SET IDENTITY_INSERT [A] ON
INSERT [A] ([id],[name])VALUES ( 3,'李四')
SET IDENTITY_INSERT [A] OFF
在数据库中要添一条数据只要指定ID 跟要添加的字段名 就行 很方便
但是在数据更新时在C#中要读出所有字段 然后对要修改的字段重新赋值 (我只知道这个方法)
但是字段比较多的情况下这个方法比较麻烦
有没有什么其他的方法 比方说我要修改某一个字段只要对ID以及这一个字段读取重新赋值就行(C#中写SQL语句 不是写在SQL里面的)
不一定是一个 可能有多个
有没有什么好的办法

回复

使用道具 举报

千问 | 2011-7-1 10:31:26 | 显示全部楼层
不需要读出所有字段。在Linq to Sql中,有两种情况:1对同一字段的若干行同时进行修改,例如销售价格的前10行同时加价10元。2对指定行的某几个字段修改。示例:1,设置DataContext,连接到AdventureWorksLT2008,执行ExecuteCommand命令使Product表中的销售价加1。将下面代码放到Main方法。string connectionString =
"Data Source=.;Initial Catalog=AdventureWorksLT2008;Integrated Security=True";AdventureWorksLT2008DataContext db ...
回复

使用道具 举报

千问 | 2011-7-1 10:31:26 | 显示全部楼层
执行下面这个sql语句:update 表1 setb=(select 表2.b from t2 where 表2.a=表1.a union select 表3.b from 表3 where 表3.a=表1.a union select 表4.b from t4 where 表4.a=表1.a);补充:执行log[TEST@ora1]...
回复

使用道具 举报

千问 | 2011-7-1 10:31:26 | 显示全部楼层
用触发器;create triggertriggername ong_cardapplydetailfor updateasdeclare @sta varchar(8) ,@idvarchar(8) //假设你这个是字符串类型的select@sta =g_state , @id= g_applynofro...
回复

使用道具 举报

千问 | 2011-7-1 10:31:26 | 显示全部楼层
用触发器;create triggertriggername ong_cardapplydetailfor updateasdeclare @sta varchar(8) ,@idvarchar(8) //假设你这个是字符串类型的select@sta =g_state , @id= g_applynofro...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行