【发布时间】:2013-07-09 05:46:26
【问题描述】:
我必须在我项目的 EditProfile 页面中插入员工详细信息,这应该就像登录的员工可以编辑他的个人资料并插入详细信息一样,一旦他插入,数据将存储在数据库中,下次他/她登录后,他们的详细信息应根据各自的用户名和密码显示在主页中。
我已经完成了大部分工作,但在编辑个人资料中插入数据时我无法获取员工姓名...我的意思是说,如果一名员工登录并编辑他/她的个人资料,则数据将被保存在数据库中,但不包含相应员工的姓名。
我尝试了一个存储过程来将值插入员工数据,但我不知道在哪里使用员工姓名。
下面是我的存储过程:
ALTER PROCEDURE [dbo].[InsertProfile]
@Full_Name nvarchar(50),
@Add nvarchar(50),
@M_Num bigint,
@Mail_ID nvarchar(50),
@B_Group nvarchar(50),
@EmpID bigint OUTPUT
AS
Insert Into dbo.EmployeeData
(
FullName,
Address,
MobileNumber,
EmailID,
BloodGroup
)
Values
(@Full_Name,
@Add,
@M_Num,
@Mail_ID,
@B_Group
)
Select @EmpID = SCOPE_IDENTITY();
【问题讨论】:
-
对不起,我只用了常用词...将编辑它nw
-
别担心 - 只是让你失望!顺便说一句,EmployeeData 表的完整架构是什么?
-
gt to knw :) 它包含 EmpID .. 我通过 EmpID 插入它,但我也需要通过 EmpName ...... EmployeeData 包含员工的完整数据,如 empname、id、add、designation、officemailid ,部门,用户名,经理
-
所以这非常适合插入初始员工值,但您的用户也必须能够更新它们。如果员工已存在于数据库表中,您将需要更新值的逻辑。这通常基于 EmpID。您的页面中是否有可用的 EmpID 值?
-
那么,您可以调用
UpdateProfile存储过程,而不是调用InsertProfile存储过程,并将 EmpId 作为输入参数之一传递?
标签: c# asp.net sql-server-2008 stored-procedures