2013-06-18 163 views
-1

我无法让我的搜索按钮将我带到我在另一个web表单上创建的gridview。下面是我使用的代码,我已经尝试了try/catch代码,并且给了我错误。按姓氏搜索Access数据库

这里的代码我有,唯一的问题是当我输入姓氏,并点击搜索,页面什么都不做。它不会进入下一页并显示在gridview上。

OleDbConnection con = new OleDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0; Data Source=PayrollSystem_DB.mdb"); 
con.Open(); 
string strqrySearch = "SELECT * FROM tblPersonnel where LastName = @LastName"; 
OleDbCommand com = new OleDbCommand(strqrySearch, con); 
com.Parameters.AddWithValue("strqrySearch", txtSearchName.Text.Trim()); 
OleDbDataReader dr = com.ExecuteReader(); 

string strFname = ""; 
string strPayrate = ""; 
string strStartdate = ""; 
string strEnddate = ""; 
while (dr.Read()) 
{ 
    strFname = dr["FirstName"].ToString(); 
    strPayrate = dr["PayRate"].ToString(); 
    strStartdate = dr["StartDate"].ToString(); 
    strEnddate = dr["EndDate"].ToString(); 
    Response.Redirect("frmViewPersonnel.aspx"); 
} 

dr.Close(); 
con.Close(); 
+1

这是因为您已将Response.Redirect放入dr.Read()循环中,并且没有记录进入DataReader。如果您仍然希望将其重定向到下一页,则不要在while循环中写入response.redirect。 –

回答

0

通过这条线替换

com.Parameters.AddWithValue("strqrySearch", txtSearchName.Text.Trim()); 

com.Parameters.AddWithValue("@LastName", txtSearchName.Text.Trim()); 
+0

在OleDB中,参数的名称无关紧要。它按索引进行。 – LarsTech

+0

我会使用回发网址重定向吗?我相信我是不需要使用回发url.so我是否将redired移动到另一个位置。谢谢sohail.hussain.dyn,我为什么要把@lastname – user2498503