2014-06-08 38 views
0

我想將cookie保存在登錄頁面上,將它傳遞給另一個頁面,在那裏它將用作sql中的一個參數。c#將cookies作爲參數傳遞給sql

保存cookies並重定向到新頁面;

HttpCookie cookie = new HttpCookie("UserID"); 
cookie["UserID"] = reader["UserID"].ToString(); 
Response.Cookies.Add(cookie); 
Response.Redirect("Home.aspx"); 

調用餅乾

HttpCookie cookie = Request.Cookies["UserID"]; 
String strCookieValue = cookie.Value.ToString(); 

連接和分配餅乾參數

SqlConnection conn = new SqlConnection("Data Source=localhost;Initial 
Catalog=PMIS;Integrated Security=True;"); 
SqlCommand cmd = new SqlCommand("procGetUser", conn); 
conn.Open(); 
cmd.CommandType = CommandType.StoredProcedure; 
cmd.Parameters.Add("@UserID", SqlDbType.VarChar).Value = strCookieValue; 
SqlDataReader reader = cmd.ExecuteReader(); 

UT = reader["UserType"].ToString(); 

在這裏,我在UT得到一個錯誤說無效的嘗試時不存在數據讀取。

回答

2

您需要致電Read()將您的閱讀器移動到第一行。

+0

你不需要在命令中提及@userid嗎? –

+1

@JoachimIsakssonL不適用於'CommandType.StoredProcedure'。 – SLaks

+0

啊,很高興知道:) –