void ExecuteContent()
{
StringBuilder sb = new StringBuilder();
sb.Append("SELECT TOP 1 @UsersID,u.Avatar,t.Date, u.Name, t.ThreadTitle, t.ThreadParagraph");
sb.Append(" FROM Users as u");
sb.Append(" INNER JOIN Threads as t ON u.UsersID = t.UsersID");
sb.Append(" Where @UsersID=t.UsersID");
sb.Append(" ORDER BY t.Date DESC");
using (SqlConnection conn = new SqlConnection(AnswerQuestion.connectionString))
{
conn.Open();
SqlCommand sqlComm = new SqlCommand(sb.ToString(), conn);
MembershipUser CurrentUser = Membership.GetUser();
Guid i = (Guid)CurrentUser.ProviderUserKey;
sqlComm.Parameters.Add("@UsersID", SqlDbType.UniqueIdentifier).Value = i;
SqlDataReader dr = sqlComm.ExecuteReader();
UserName = dr["Name"].ToString();//The exception is thrown here
Image = (Image) dr["Avatar"];
ThreadTitle = dr["ThreadTitle"].ToString();
ThreadParagraph = dr["ThreadParagraph"].ToString();
Time = (DateTime)AllQuestionsPresented.TryParse(dr["Date"].ToString());
}
}
我不明白我爲什麼得到它。我所要做的就是讓最後一個發佈帖子的人..我看着調試,而事情看起來很好。我也看了視覺工作室2010年的SQL服務器..有數據,,但不知何故它沒有被讀取和拋出異常...... :(InvalidOperationException:無數據存在時無效嘗試讀取。 (SQL)
你是什麼意思逐字... ..爲什麼你使用var查詢,而不是stringbuilder? – Matrix001 2011-06-12 17:08:29
var query是一個字符串。看看這裏的逐字記號的更多信息:http://en.csharp-online.net/CSharp_FAQ:_What_is_a_verbatim_string_literal – 2011-06-12 17:12:23
我得到的屬性中的空值..如果數據庫中沒有任何內容..我爲ThreadParagraph得到null,休息... – Matrix001 2011-06-12 17:17:54