在我的網站我試圖讓我的網站顯示,如果他們在試圖存儲過程中記錄的用戶地址的詳細信息:ASP.NET C#顯示地址詳細信息如果登錄
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 connection; Addresses; Fullname」;
任何幫助或建議表示讚賞....
嗨, 我已經添加thie線到我的代碼: 'oCMD.Parameters.Add( 「@用戶ID」,SqlDbType.NVarChar,256)。價值= User.Identity.Name;' 但是,當我嘗試運行這個,我到我的頁面與此代碼後面我無效嘗試讀取時,沒有數據存在。?如此迷茫!! –
我發現我的代碼實際上正在工作!但是...這個問題似乎是,當一個用戶使用CreateUserWizard爲我的網站提供服務時,它會對用戶名和密碼進行加密,所以當我的程序查看數據庫中的用戶名時,它會找到加密的文本,這顯然不匹配!所以我需要解密代碼或從不加密,因爲它進入數據庫表!嗯... –