C# 插入登录用户的用户ID

C# 插入登录用户的用户ID,c#,asp.net,session,user-controls,insert,C#,Asp.net,Session,User Controls,Insert,好的,我有一个insert语句,它将通过DG_Latest.SelectedRow.Cells[1]。Text检索的dvdID插入到一个表中 我还想收集UserId,并将其存储到rendered表中 如何获取登录的用户ID 我的代码 da.InsertCommand = new OleDbCommand("INSERT INTO Rented (DVDID, UserID) VALUES (@rent, @user)", conn); da.InsertCommand.Parameters.Ad

好的,我有一个insert语句,它将通过
DG_Latest.SelectedRow.Cells[1]。Text
检索的
dvdID
插入到一个表中

我还想收集
UserId
,并将其存储到
rendered
表中

如何获取登录的用户ID

我的代码

da.InsertCommand = new OleDbCommand("INSERT INTO Rented (DVDID, UserID) VALUES (@rent, @user)", conn);
da.InsertCommand.Parameters.AddWithValue("@rent", DG_Latest.SelectedRow.Cells[1].Text);
da.InsertCommand.Parameters.AddWithValue("@user", ???);
这是:

var currentUser = Membership.GetUser(User.Identity.Name);
string username = currentUser.UserName //** get UserName
Guid userID = currentUser.ProviderUserKey //** get user ID
从线程

加上这样的话:

 da.InsertCommand.Parameters.AddWithValue("@user", userID );
这应该可以

string userName = System.Security.Principal.WindowsIdentity.GetCurrent().Name;

  (OR)

string userName = Environment.UserName
如果你想得到用户ID,那么下面的代码行就可以了

Membership.GetUser().ProviderUserKey

当您说“登录用户ID”时,是用户登录到您的应用程序,还是网络/LAN用户ID?根据哪一个答案,下面两个答案中的任何一个都可以。登录到我的应用程序(使用asp.net成员身份)取决于您,您是否希望将该id插入数据库中的某个位置。因为如果它来自您的数据库,那么为什么您需要重新插入它?好的想法是跟踪用户租用情况,我将把它发送给管理员,稍后构建一个新查询,显示给那里的单个成员rentals@Beep,我是这么说的;如果您需要将此用户ID作为FK插入到其他表中,然后继续插入,在这种情况下,您需要insert命令。谢谢,我如何在查询中使用它检查我答案的最后一行。太棒了,但当我应用此选项时,我得到一个错误20当前表中不存在“成员身份”名称context@Beep,希望你在VS上工作;然后右键单击
成员资格
并选择
解决
。它位于
System.Web.Security
namespace下。您提到了有问题的userid。它应该是guid类型。