c# - ASP.NET C# 在登录时显示地址详细信息

标签 c# asp.net

在我的网站上,我试图让我的网站显示用户地址详细信息(如果他们已登录并尝试了存储过程):

ALTER PROCEDURE dbo.showAddress
    @userid nvarchar(256)
AS
    SELECT Fullname, Address, County, Postcode FROM Addresses WHERE @userid = UserId
RETURN

但是我得到一个关于期望用户 ID 的区域?我试过通过后面的代码插入:

protected void Page_Load(object sender, EventArgs e)
{
    if (User.Identity.IsAuthenticated)
    {
        SqlCommand oCMD = new SqlCommand();
        SqlConnection oCON = new SqlConnection();
        oCON.ConnectionString = ConfigurationManager.ConnectionStrings["ApplicationServices"].ConnectionString;
        oCON.Open();
        oCMD.Connection = oCON;
        oCMD.CommandType = CommandType.StoredProcedure;
        oCMD.CommandText = "showAddress";

        SqlDataReader oRDR = oCMD.ExecuteReader();
        oRDR.Read();
        txtName.Text = oRDR.GetString(oRDR.GetOrdinal("Fullname"));
        oCON.Close();
    }
}

但这对我也不起作用。是否有一些代码可以像这样输入:

txtPostcode.Text = "sql连接;地址;全名";

感谢任何帮助或建议....

最佳答案

在您的 C# 中,您需要添加 @userid 作为参数传递给存储过程。

oCMD.Parameters.Add(new SqlParameter("@userid", userid));

显然,您需要从某个地方获取用户 ID,例如 User.Identity 对象。

关于c# - ASP.NET C# 在登录时显示地址详细信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13962370/

相关文章:

c# - 访问被拒绝 IIS 服务器问题

c# - 带格式化文本字段的标签/文字控件

asp.net - 调用 VirtualPathUtility.ToAbsolute 的单元测试代码

下拉菜单的 C# Pager 问题

asp.net - 连接到链接服务器时查询速度慢

c# - 获取EXE的根目录 - C#

c# - 用具体类型覆盖抽象方法的返回类型

c# - 使用私钥签署程序集

c# - 如何获得下划线对象?

c# - 在禁用的 DataGridView 上显示垂直滚动条