asp.net页面打不开 ,提示异常
在B站跟着敲的,人家的能运行,我的报错
protected void Button1_Click(object sender, EventArgs e)
{
string title = TextBox1.Text;
string tklx =DropDownList1.SelectedValue;
int sj_id = int.Parse(Request.QueryString["sj_id"]);
//设置tkInfo
Models.tkInfo tk = new Models.tkInfo();
tk.title = title;
tk.tklx = tklx;
//查询数据库
Models.BLLResult result = new BLL.TKBLL().QueryTKInSJList(tk,sj_id);
if (result.code == 1)
{
//绑定数据
GridView1.DataSource = result.data as List<Models.tkInfo>;
GridView1.DataBind();
}
else
{
string msg = Server.HtmlEncode(result.msg.Replace("\r", "").Replace("\n", ""));
Response.Write("<script>alert('" + msg + "');</script>");
}
}
DAL层代码
public List<Models.tkInfo> QueryTKInSJList(Models.tkInfo tk, int sj_id)
{
//定义可变的字符串,用于拼接查询语句
StringBuilder sSelectSql = new StringBuilder("select * from tkInfo where 1=1");
List<SqlParameter> parameters = new List<SqlParameter>();
if (!string.IsNullOrEmpty(tk.tklx))
{
//根据题库类型查看题库信息
sSelectSql.Append(" AND tklx=@tklx");
parameters.Add(new SqlParameter("@tklx", tk.tklx));
}
if (!string.IsNullOrEmpty(tk.title))
{
//输入题库标题模糊查询
sSelectSql.Append(" AND title like @title");
parameters.Add(new SqlParameter("@title", "%" + tk.title + "%"));
}
sSelectSql.Append(" AND exists(select 1 form sjtk where sjtk.tk_id=tkInfo.id AND sjtk.sj_id=@sj_id)");
Console.WriteLine(sSelectSql);
parameters.Add(new SqlParameter("@sj_id", sj_id));
//查询数据库
List<Models.tkInfo> dataList = DBA.Query<Models.tkInfo>(sSelectSql.ToString(), parameters.ToArray());
//取第一条即可(ID为主键,如果有值集合中仅有一条数据)
return dataList;
}
BLL层代码
public Models.BLLResult QueryTKList(Models.tkInfo tk)
{
Models.BLLResult result = new Models.BLLResult();
//查询题库数据
try
{
List<Models.tkInfo> dataList = new DAL.TKDAL().QueryTKList(tk);
result.SetData(dataList);
return result;
}
catch (Exception ex)
{
result.SetError("系统异常:" + ex.Message);
return result;
}
}
怀疑是DAL层代码
sSelectSql.Append(" AND exists(select 1 form sjtk where sjtk.tk_id=tkInfo.id AND sjtk.sj_id=@sj_id)");
Console.WriteLine(sSelectSql);
parameters.Add(new SqlParameter("@sj_id", sj_id));
这几句的问题
在 Console.WriteLine(sSelectSql);
parameters.Add(new SqlParameter("@sj_id", sj_id));
这两句加了断点,但启动页面的时候还没轮到这个断点的执行,就报错了
已经知道和数据库链接字符串无关,应该就是粘贴的代码哪里有错,和数据库的连接执行啥的应该无关
希望各位达神能给下意见,最好时解决办法,是在不知道怎么办了,求各位达神帮助
有没有哪位达佬回答下
你好,
Request.QueryString["sj_id"]
这个值是多少?是不是空值? 可以从QueryString中获取包含在URL中的一些参数。如果没有值,刷新页面再看看能不能得到值。