2011-04-14 74 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,它是基于零的。