问题描述
user.master.aspx.cs的代码:protectedvoidButton1_Click(objectsender,EventArgse){stringfindtype="";switch(DropDownList1.SelectedValue){case"名称":findtype="select*fromtblJiajuwherejiajuNamelike'%"+TextBox1.Text+"%'";break;case"品牌":findtype="select*fromtblJiajuwherebrandlike'%"+TextBox1.Text+"%'";break;case"材质":findtype="select*fromtblJiajuwheremateriallike'%"+TextBox1.Text+"%'";break;}Response.Cookies["findtype"].Value=findtype;Response.Cookies["findtype"].Expires=DateTime.Now.AddHours(1);Response.Redirect("findjiaju.aspx");findjiaju.aspx.cs的代码:
解决方案
解决方案二:
publicpartialclassfindjiaju:System.Web.UI.Page{protectedvoidPage_Load(objectsender,EventArgse){Stringjiajuinfo;jiajuinfo=Request.QueryString["findtype"];DataTabledt=Class1.ExecSel(jiajuinfo);//如果搜索不到,则提示没有家具if(dt==null||dt.Rows.Count==0){Label7.Text="没有存货";return;}else{//这个信息可以放在div里,这样如果搜索不到家具,则不显示div//现在搜索不到.显示都是空的intid=Convert.ToInt32(dt.Rows[0][0]);stringinfo="select*from[tblJiaju]wherejiajuID="+id;DataTabledatatable=Class1.ExecSel(info);Label1.Text=dt.Rows[0][1].ToString();Label2.Text=dt.Rows[0][2].ToString();Label3.Text=dt.Rows[0][3].ToString();Label4.Text=dt.Rows[0][4].ToString();Label5.Text=dt.Rows[0][5].ToString();Label6.Text=dt.Rows[0][6].ToString();if(Convert.ToInt32(dt.Rows[0][8])==0){Label7.Text="没有存货";}if(Convert.ToInt32(dt.Rows[0][8])==1){Label7.Text="有存货";}Image1.ImageUrl="~/picture/"+dt.Rows[0][7].ToString();}}}
解决方案三:
调用数据库的代码:publicstaticDataTableExecSel(stringsql){//建立连接SqlConnectioncon=Class1.DBconnection();con.Open();//查询命令SqlCommandcom=newSqlCommand(sql,con);//建立适配器SqlDataAdapteroda=newSqlDataAdapter();//建立datasetDataSetds=newDataSet();oda.SelectCommand=com;//传递查询结果oda.Fill(ds);con.Close();returnds.Tables[0];}运行结果出错如下:ExecuteReader:CommandText属性尚未初始化说明:执行当前Web请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。异常详细信息:System.InvalidOperationException:ExecuteReader:CommandText属性尚未初始化源错误:行39:oda.SelectCommand=com;行40://传递查询结果行41:oda.Fill(ds);行42:con.Close();行43:returnds.Tables[0];
解决方案四:
用Cookie来传递Sql代码,很有创意.不过以后不要这么玩了.直接用url参数把DropDownList1.SelectedValue传递到别的网页.在那里在拼接Sql代码.
解决方案五:
你一步一步调试,然后就知道发生问题在哪了,那么多代码贴出来,看的眼花
解决方案六:
stringfindtype="";---这个findtype应该是url参数,而不是select语句..select语句可以到目标页面构建..
解决方案七:
汗,用cookie的,有创意.拼接还是尽量不要用的好,参数化查询比较好.
解决方案八:
ExecuteReader:CommandText属性尚未初始化============================是不是sql语句没有传过来呀。