0

我正在尝试创建一个用户 ID。我有一个 sql server 数据库,我有一个用 asp.net 开发的用户网页。在我的用户页面上,用户在文本框中填写信息(名字、姓氏、中间名首字母等),当用户单击提交按钮时,输入的信息将添加到数据库中。我在数据库中有一个自动增量列,因此当信息添加到数据库时,该行具有一个自动增量编号,例如 1。每次添加新行时,自动增量编号都会增加一。

我想创建一个唯一的用户 ID。它应该包含用户在用户网页上填写的姓氏的前 4 个字母和数据库中的自动递增编号。我有一个代码来检索姓氏的前 4 个字母(字符串 FirstFour = txtNewUserLN.Text.Substring(0, 4);),但我需要将数据库中的自动增量编号添加到该字符串。有人可以帮我吗?

4

2 回答 2

1

在sql数据库中创建sql用户定义函数

用于创建函数使用

CREATE FUNCTION ucernamehandle(@Lastname)
RETURNS nchar(50)
AS
BEGIN
    DECLARE @idfromauo int;
    DECLARE @newusernem nchar(50);
    SET @idfromauo =IDENT_CURRENT('yourtablename');
    return @Lastname+@idfromauo;
END

然后在插入语句中使用它

INSERT INTO yourtablename (LastName) VALUES (ucernamehandle(@Lastname))

那么你会得到你想要的女巫

欢迎您的感谢

祝你好运

于 2013-04-04T22:36:35.657 回答
0

我的猜测是你将不得不进行插入然后更新。需要注意的事情 - 如果您使用任何检查最后一个或刚刚插入的身份值的东西,请确保将其放入事务中。如果不这样做,您可以在更新之前让其他进程添加记录。

所以尝试这样的事情:

insert into UserList(LastName, FirstName, ...) values (@LastName, @FirstName)
declare @UserID varchar(500)
set @UserID = left(@LastName, 4) + convert(varchar(10), SCOPE_IDENTITY())
update UserList set UserID = @UserID where RowID = Scope_identity()
于 2013-04-05T13:08:08.447 回答