存储过程:CREATE PROCEDURE Hr_SearchByGsDqBm
(
@gs varchar(50),
@dq varchar(50),
@bm varchar(50),
@name varchar(50)
)
AS
select * from hr where gs like '%'+@gs+'%' and dq like '%'+@dq+'%' and bm like '%'+@bm+'%' and name like '%'+@name+'%'
GO
DAL层: public static DataSet Hr_Search(string gs, string dq, string bm, string name)
{
SqlParameter[] parameters ={ new SqlParameter("@gs", SqlDbType.VarChar, 50),
new SqlParameter("@dq", SqlDbType.VarChar, 50),
new SqlParameter("@bm", SqlDbType.VarChar, 50),
new SqlParameter("@name", SqlDbType.VarChar, 50)};
parameters[0].Value = gs;
parameters[1].Value = dq;
parameters[2].Value = bm;
parameters[3].Value = name;
return DbHelperSQL.RunProcedure("Hr_SearchByGsDqBm", parameters, "hr");//这里报错!
}
页面: public partial class Hr_dqbm : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
if (Session["AccountsAdminPage"] != null && Session["AccountsAdminPage"].ToString() != "")
{
GridView1.PageIndex = Convert.ToInt32(Session["AccountsAdminPage"]);
}
BinData();
ddlBind();
} }
//绑定公司地区部门dropdownlist数据
public void ddlBind()
{
//绑定公司dropdownlist
List<HrModel> hrmodel = new List<HrModel>();
hrmodel = HrSQL.Get_Gs();
dl_gs.Items.Clear();
dl_gs.Items.Add(new ListItem("请选择", ""));
foreach (HrModel gs in hrmodel)
{
ListItem li = new ListItem();
li.Value = gs.Gs;
li.Text = gs.Gs;
dl_gs.Items.Add(li);
}
}
public void BinData()
{
string name = "";
string gs = "";
string dq = "";
string bm = "";
name = this.txt_gjz.Text.Trim();//姓名
DataSet ds = new DataSet();
if (dl_gs.SelectedValue == "" && dl_dq.SelectedValue == "")
{
ds = HrBLL.Get_List();
}
else
{
if (dl_gs.SelectedValue != "")
{
gs = dl_gs.SelectedValue;//公司
}
if (dl_dq.SelectedValue != "")
{
dq = dl_dq.SelectedValue;//地区
}
if (dl_bm.SelectedValue != "")
{
bm = dl_bm.SelectedValue;//地区
} ds = HrSQL.Hr_Search(dl_gs.SelectedValue, dl_dq.SelectedValue, dl_bm.SelectedValue, name);
}
int pageIndex = this.GridView1.PageIndex;
Session["AccountsAdminPage"] = pageIndex;
this.GridView1.DataSource = ds.Tables[0].DefaultView; int record_Count = ds.Tables[0].Rows.Count;
//控件显示行数
int page_Size = GridView1.PageSize;
//总页数
int totalPages = int.Parse(Math.Ceiling((double)record_Count / page_Size).ToString());
if (totalPages > 0)
{
if (pageIndex > totalPages - 1)
pageIndex = totalPages - 1;
}
else
{
pageIndex = 0;
}
//当前页
this.GridView1.PageIndex = pageIndex;
this.GridView1.DataBind(); int page_Count = GridView1.PageCount;
int page_Current = pageIndex + 1; //显示数量
if (this.GridView1.PageIndex == 0)
{
btnFirst.Enabled = false;
btnPrev.Enabled = false;
if (this.GridView1.PageCount == 1)
{
btnLast.Enabled = false;
btnNext.Enabled = false;
}
}
else if (this.GridView1.PageIndex == this.GridView1.PageCount - 1)
{
btnLast.Enabled = false;
btnNext.Enabled = false;
}
this.lblpagesum.Text = totalPages.ToString();
this.lblpage.Text = (pageIndex + 1).ToString();
this.lblrowscount.Text = record_Count.ToString(); } public void NavigateToPage(object sender, CommandEventArgs e)
{
btnFirst.Enabled = true;
btnPrev.Enabled = true;
btnNext.Enabled = true;
btnLast.Enabled = true;
string pageinfo = e.CommandArgument.ToString();
switch (pageinfo)
{
case "Prev":
if (this.GridView1.PageIndex > 0)
{
this.GridView1.PageIndex -= 1; }
break;
case "Next":
if (this.GridView1.PageIndex < (this.GridView1.PageCount - 1))
{
this.GridView1.PageIndex += 1; }
break;
case "First":
this.GridView1.PageIndex = 0;
break;
case "Last":
this.GridView1.PageIndex = this.GridView1.PageCount - 1;
break;
}
if (this.GridView1.PageIndex == 0)
{
btnFirst.Enabled = false;
btnPrev.Enabled = false;
if (this.GridView1.PageCount == 1)
{
btnLast.Enabled = false;
btnNext.Enabled = false;
}
}
else if (this.GridView1.PageIndex == this.GridView1.PageCount - 1)
{
btnLast.Enabled = false;
btnNext.Enabled = false;
}
BinData();
}
protected void Button1_Click(object sender, EventArgs e)
{
BinData();
} protected void dl_gs_SelectedIndexChanged(object sender, EventArgs e)
{
if (dl_gs.SelectedValue != "0")
{
BinData();
}
} protected void dl_dq_SelectedIndexChanged(object sender, EventArgs e)
{
if (dl_dq.SelectedValue != "0")
{
BinData();
}
} protected void dl_bm_SelectedIndexChanged(object sender, EventArgs e)
{
if (dl_bm.SelectedValue != "0")
{
BinData();
}
}
}
return DbHelperSQL.RunProcedure("Hr_SearchByGsDqBm", parameters, "hr");//这里报错!取值都很正常的,就是不知为什么?
(
@gs varchar(50),
@dq varchar(50),
@bm varchar(50),
@name varchar(50)
)
AS
select * from hr where gs like '%'+@gs+'%' and dq like '%'+@dq+'%' and bm like '%'+@bm+'%' and name like '%'+@name+'%'
GO
DAL层: public static DataSet Hr_Search(string gs, string dq, string bm, string name)
{
SqlParameter[] parameters ={ new SqlParameter("@gs", SqlDbType.VarChar, 50),
new SqlParameter("@dq", SqlDbType.VarChar, 50),
new SqlParameter("@bm", SqlDbType.VarChar, 50),
new SqlParameter("@name", SqlDbType.VarChar, 50)};
parameters[0].Value = gs;
parameters[1].Value = dq;
parameters[2].Value = bm;
parameters[3].Value = name;
return DbHelperSQL.RunProcedure("Hr_SearchByGsDqBm", parameters, "hr");//这里报错!
}
页面: public partial class Hr_dqbm : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
if (Session["AccountsAdminPage"] != null && Session["AccountsAdminPage"].ToString() != "")
{
GridView1.PageIndex = Convert.ToInt32(Session["AccountsAdminPage"]);
}
BinData();
ddlBind();
} }
//绑定公司地区部门dropdownlist数据
public void ddlBind()
{
//绑定公司dropdownlist
List<HrModel> hrmodel = new List<HrModel>();
hrmodel = HrSQL.Get_Gs();
dl_gs.Items.Clear();
dl_gs.Items.Add(new ListItem("请选择", ""));
foreach (HrModel gs in hrmodel)
{
ListItem li = new ListItem();
li.Value = gs.Gs;
li.Text = gs.Gs;
dl_gs.Items.Add(li);
}
}
public void BinData()
{
string name = "";
string gs = "";
string dq = "";
string bm = "";
name = this.txt_gjz.Text.Trim();//姓名
DataSet ds = new DataSet();
if (dl_gs.SelectedValue == "" && dl_dq.SelectedValue == "")
{
ds = HrBLL.Get_List();
}
else
{
if (dl_gs.SelectedValue != "")
{
gs = dl_gs.SelectedValue;//公司
}
if (dl_dq.SelectedValue != "")
{
dq = dl_dq.SelectedValue;//地区
}
if (dl_bm.SelectedValue != "")
{
bm = dl_bm.SelectedValue;//地区
} ds = HrSQL.Hr_Search(dl_gs.SelectedValue, dl_dq.SelectedValue, dl_bm.SelectedValue, name);
}
int pageIndex = this.GridView1.PageIndex;
Session["AccountsAdminPage"] = pageIndex;
this.GridView1.DataSource = ds.Tables[0].DefaultView; int record_Count = ds.Tables[0].Rows.Count;
//控件显示行数
int page_Size = GridView1.PageSize;
//总页数
int totalPages = int.Parse(Math.Ceiling((double)record_Count / page_Size).ToString());
if (totalPages > 0)
{
if (pageIndex > totalPages - 1)
pageIndex = totalPages - 1;
}
else
{
pageIndex = 0;
}
//当前页
this.GridView1.PageIndex = pageIndex;
this.GridView1.DataBind(); int page_Count = GridView1.PageCount;
int page_Current = pageIndex + 1; //显示数量
if (this.GridView1.PageIndex == 0)
{
btnFirst.Enabled = false;
btnPrev.Enabled = false;
if (this.GridView1.PageCount == 1)
{
btnLast.Enabled = false;
btnNext.Enabled = false;
}
}
else if (this.GridView1.PageIndex == this.GridView1.PageCount - 1)
{
btnLast.Enabled = false;
btnNext.Enabled = false;
}
this.lblpagesum.Text = totalPages.ToString();
this.lblpage.Text = (pageIndex + 1).ToString();
this.lblrowscount.Text = record_Count.ToString(); } public void NavigateToPage(object sender, CommandEventArgs e)
{
btnFirst.Enabled = true;
btnPrev.Enabled = true;
btnNext.Enabled = true;
btnLast.Enabled = true;
string pageinfo = e.CommandArgument.ToString();
switch (pageinfo)
{
case "Prev":
if (this.GridView1.PageIndex > 0)
{
this.GridView1.PageIndex -= 1; }
break;
case "Next":
if (this.GridView1.PageIndex < (this.GridView1.PageCount - 1))
{
this.GridView1.PageIndex += 1; }
break;
case "First":
this.GridView1.PageIndex = 0;
break;
case "Last":
this.GridView1.PageIndex = this.GridView1.PageCount - 1;
break;
}
if (this.GridView1.PageIndex == 0)
{
btnFirst.Enabled = false;
btnPrev.Enabled = false;
if (this.GridView1.PageCount == 1)
{
btnLast.Enabled = false;
btnNext.Enabled = false;
}
}
else if (this.GridView1.PageIndex == this.GridView1.PageCount - 1)
{
btnLast.Enabled = false;
btnNext.Enabled = false;
}
BinData();
}
protected void Button1_Click(object sender, EventArgs e)
{
BinData();
} protected void dl_gs_SelectedIndexChanged(object sender, EventArgs e)
{
if (dl_gs.SelectedValue != "0")
{
BinData();
}
} protected void dl_dq_SelectedIndexChanged(object sender, EventArgs e)
{
if (dl_dq.SelectedValue != "0")
{
BinData();
}
} protected void dl_bm_SelectedIndexChanged(object sender, EventArgs e)
{
if (dl_bm.SelectedValue != "0")
{
BinData();
}
}
}
return DbHelperSQL.RunProcedure("Hr_SearchByGsDqBm", parameters, "hr");//这里报错!取值都很正常的,就是不知为什么?
不过从表面上看 可能是 DbHelperSQL。RunProcedure 出了问题。
或是 参数 不符合 规则 , 导致异常。
打打断点 好好分析下吧。
就是这里 DbHelperSQL。RunProcedure “用户代码未处理 System.TypeInitializationException ”
参数值都取到了的。