PDA

View Full Version : خطا در اجرای دو شرط در where برای select



m.sherafati
شنبه 19 بهمن 1392, 23:48 عصر
با سلام.
برای سایتم میخواهم امکان نظر دهی بزارم به ازای هر پست.
صفحه نظر دهی ک باز میشه ، برای نمایش نظرهای قبلی ی gridview گذاشتم ک select اون دو تا شرط رو بررسی میکنه. یکی آیدی پست (نظرهای مربوط ب همون پست رو نشون بده) و یکی isprivate واسه اینکه چک کنه نظر تایید شده ک نمایش داده بشه یا نه.
ولی متاسفانه دستورات من در صورتی درست کار میکنن ک یکی از شرط گذاشته بشه. اگه دوتا شرط رو با هم قرار بدم فقط واسه اولین پست اجرا میشه
اشکالم کجاس؟؟؟؟ ممنون میشم راهنماییم کنید...


System.Data.SqlClient.SqlDataReader dr;
int pid = Convert.ToInt32(Request.QueryString["pi"]);
int isPrivate = 1;
com.Connection = con;
com.CommandText = "select name,body,createtime from comment where (fk_postid=@fk_postid) AND (isprivate=@isprivate)";
com.Parameters.AddWithValue("@fk_postid", pid);
com.Parameters.AddWithValue("@isprivate", isPrivate);
con.Open();
dr = com.ExecuteReader();
dr.Read();

GridView1.DataSource = dr;
GridView1.DataBind();
dr.Close();
con.Close();

ferdin
سه شنبه 22 بهمن 1392, 12:47 عصر
سلام

ظاهرا دستورت درسته ، پروفایلر بگیر و دستوری که داره رو db اجرا میشه رو چک کن ببین اشکالت کجاست و یا تو همین تاپیک بزار تا چک کنیم.

البته من احتمال میدم مقدار پارامتر pid اشتباه است.اینو هم چک کن.