C#操作SQLServer数据库

最近做分布式管理系统时,遇到需要设置新添加用户的默认密码。考虑几种方案,感觉直接修改数据表该字段的默认值非常有效和方便。

下面是读取表中指定字段的默认值的代码和更改表中默认值的代码。

 

--查看某表某字段的默认值  备注:查处的默认值形如('123456'),在程序中自己去掉('')
CREATE PROCEDURE  SelFieldDefault
(
     @DefaultPwd nvarchar(100) output --指定表指定字段的默认值
)
AS
declare @T_Name  varchar(50) --表名称
declare @Field  varchar(50) --表字段
set @DefaultPwd=''
set @T_Name='tb_RadiusUser'
set @Field='UserPwd'


select @DefaultPwd=m.text
from syscolumns c inner join systypes t
on c.xusertype=t.xusertype
left join  sysproperties p
on c.id=p.id and c.colid = p.smallid
left join  syscomments m
on c.cdefault=m.id
where object_name(c.id)=@T_Name
and   c.name=@Field

 

 

--更新字段的默认值
CREATE PROCEDURE UptFieldDefault
(
 @NewDefault nvarchar(100) --新默认值
)
AS
declare @T_Name  varchar(50) --表名称
declare @Field  varchar(50) --表字段

declare @Constraints varchar(32), --约束名
 @sql nvarchar(1000)  --执行的SQL语句

set @T_Name='tb_RadiusUser'
set @Field='UserPwd'


select @Constraints= c.name from sysconstraints a
inner join syscolumns b on a.colid=b.colid
inner join sysobjects c on a.constid=c.id
where a.id=object_id(@T_Name)
and b.name=@Field 

if(@Constraints is not Null)  --原来有默认值需删除
begin
 set @sql='Alter table '+@T_Name+' drop constraint ['+@Constraints+']'
 execute sp_executesql @sql
end
set @sql='ALTER TABLE '+@T_Name+' add DEFAULT ('''+@NewDefault+''') for '+@Field+' WITH VALUES' --@NewDefault左右用3个单引号【相当于加''】
execute sp_executesql @sql

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值