2011-04-14 76 views
-1

我已經做了一個簡單的存儲過程來選擇名稱將像'%search text%'一樣的所有記錄。存儲過程返回正確的結果。但是當我試圖使用sqldatareader將這些結果集顯示到gridview中時,它會少一個記錄。幫助請。sql數據讀取器顯示一個小於sql查詢輸出的記錄

+0

給我們您的代碼。這是你的代碼中的一個錯誤,而不是設計錯誤,所以如果你不給我們代碼,我們不能告訴你如何解決它,除了「找到錯誤」。 – bdares 2011-04-14 04:01:54

+0

你是否從這兩個結果中獲得了真正的計數?或者你正在考慮最後的索引?如果它是基於零的索引,則可能代表差異。 – Mikecito 2011-04-14 04:09:46

回答

0
SqlConnection conn = new SqlConnection(connectionString); 

SqlCommand command = new SqlCommand("select * from yourtable where yourcol like @parm"); 
command.CommandType = CommandType.StoredProcedure; 
command.Parameters.AddWithValue("@parm", searchText); 

conn.Open(); 
command.Connection = conn; 
SqlDataReader reader = command.ExecuteReader(CommandBehavior.CloseConnection); 
GridView1.DataSource = reader; 
GridView1.DataBind(); 

如果您正在循環SqlDataReader,它是基於零的。