急啊!!!请问DELPHI能动态的在SQL2000数据库中建立新的用户吗?(100分)

  • 主题发起人 主题发起人 vcvc
  • 开始时间 开始时间
V

vcvc

Unregistered / Unconfirmed
GUEST, unregistred user!
急啊!!!请问DELPHI能动态的在SQL2000数据库中建立新的用户吗?
并且设定它的权限,数据库?

谢谢!!!
 
执行SQL语句就行了,相应的SQL语句你查查MSSQL的联机帮助吧.
 
再SQL2000中,有很多系统内置的存储过程,通过调用他们,你完全可以做出来一个企业管理器
 
用存储过程 sp_adduser
为当前数据库中的新用户添加安全帐户。包括此过程是为了向后兼容。请使用 sp_grantdbaccess。

语法
sp_adduser [ @loginame = ] 'login'
[ , [ @name_in_db = ] 'user' ]
[ , [ @grpname = ] 'group' ]

参数
[@loginame =] 'login'

用户的登录名称。login 的数据类型是 sysname,没有默认值。login 必须是现有 Microsoft® SQL Server™ 登录或 Microsoft Windows NT® 用户。

[@name_in_db =] 'user'

新用户的名称。user 的数据类型为 sysname,其默认值为 NULL。如果没有指定 user,则用户的名称默认为 login 名称。指定 user 即为新用户在数据库中给予一个不同于 SQL Server 上的登录 ID 的名称。

[@grpname =] 'group'

组或角色,新用户自动地成为其成员。group 的数据类型为 sysname,默认值为 NULL。group 必须是当前数据库中有效的组或角色。Microsoft SQL Server 7.0 使用角色而不是组。

返回代码值
0(成功)或 1(失败)


EXEC sp_adduser 'Victoria', 'Victoria', 'fort_mudge'

B. 添加用户名(使用相同的登录 ID)
下面的示例为登录 Margaret 将默认用户名 Margaret 添加到当前数据库,该用户名属于默认的 public 角色。

EXEC sp_adduser 'Margaret'

C. 添加用户(使用不同的用户名)
下面的示例将 Haroldq 登录添加到当前的数据库中并使用 Harold 用户名,该用户名属于 fort_mudge 角色。

EXEC sp_adduser 'Haroldq', 'Harold', 'fort_mudge'






1、sAddLogin:= 'EXEC sp_addlogin '+ '''' + //登录名
sUserName + '''' + ',' + '''' + sPassWord + ''''+ ',' + ''''+sDatabase+ '''';

query.sql.text:= sAddLogin;
query.ExecSql;

用同样的方法完成以下过程,用户就完整了。
2、sp_grantdbaccess //数据库用户
3、sp_addrolemember //分配角色。

 
用事件探查器!!吧!!你在企业管理器里面建立一个用户!!

事件探查器就可以看到了!!
 
后退
顶部