问题描述
代码如下:protectedvoidPage_Load(objectsender,EventArgse){if(Session["Year"]==null){Response.Write("<script>this.parent.location.href='../Default.aspx'</script>");return;}if(!Page.IsPostBack){BaseClassbc=newBaseClass();DataSetds=bc.GetDataSet("SELECT*FROMsxsWHEREyear='"+Session["Year"]+"'","sxs");if(ds.Tables[0].Rows.Count>0){year.Text=ds.Tables[0].Rows[0]["year"].ToString();ed_les11.Text=ds.Tables[0].Rows[0]["ed_les11"].ToString();ed_les22.Text=ds.Tables[0].Rows[0]["ed_les22"].ToString();ed_ex11.Text=ds.Tables[0].Rows[0]["ed_ex11"].ToString();ed_ex22.Text=ds.Tables[0].Rows[0]["ed_ex22"].ToString();ed_gra11.Text=ds.Tables[0].Rows[0]["ed_gra11"].ToString();ed_gra22.Text=ds.Tables[0].Rows[0]["ed_gra22"].ToString();sc_ex11.Text=ds.Tables[0].Rows[0]["sc_ex11"].ToString();sc_ex22.Text=ds.Tables[0].Rows[0]["sc_ex22"].ToString();sc_ex33.Text=ds.Tables[0].Rows[0]["sc_ex33"].ToString();sch.Text=ds.Tables[0].Rows[0]["sch"].ToString();ops.Text=ds.Tables[0].Rows[0]["ops"].ToString();rp.Text=ds.Tables[0].Rows[0]["rp"].ToString();k.Text=ds.Tables[0].Rows[0]["k"].ToString();k.Text=ds.Tables[0].Rows[0]["k"].ToString();}}}但运行结果是什么都没有读出来,什么原因呢?希望大家帮帮忙
解决方案
解决方案二:
设断点调试下,看dataset里面有内容没
解决方案三:
DataSetds=bc.GetDataSet("SELECT*FROMsxsWHEREyear='"+Session["Year"]+"'","sxs");放一个断点看看执行有记录集吗?
解决方案四:
打个断点调试这个很好找的吧。。。
解决方案五:
看session["Year"]有值没把查询语句执行下看有没数据有数据的话肯定能显示
解决方案六:
if(!IsPostBack){stringsql="select*from[HrDemand]whereID="+Request.QueryString["ID"];dr=newCReader(sql);//如果有下一条记录if(dr.Read()){this.txtzw.Text=dr["HrName"].ToString();this.txtNum.Text=dr["HrRequireNum"].ToString();this.txtDy.Text=dr["HrSalary"].ToString();this.txtAddr.Text=dr["HrAddress"].ToString();this.txtDate.Text=dr["HrValidDate"].ToString();this.txtContent.Value=dr["HrDetail"].ToString();}dr.Close();}
解决方案七:
引用2楼wyq29的回复:
DataSetds=bc.GetDataSet("SELECT*FROMsxsWHEREyear='"+Session["Year"]+"'","sxs");放一个断点看看执行有记录集吗?
执行后没有记录集,怎么回事呢?
解决方案八:
"SELECT*FROMsxsWHEREyear='"+Session["Year"].toString()+"'","sxs"看看sql语句复制粘贴到数据库看能不能查出数据
解决方案九:
引用7楼lijing3333的回复:
"SELECT*FROMsxsWHEREyear='"+Session["Year"].toString()+"'","sxs"看看sql语句复制粘贴到数据库看能不能查出数据
查询时有以下错误:将varchar值'"+Session["Year"]+"'转换为数据类型为int的列时发生语法错误。
解决方案十:
DataSetds=bc.GetDataSet("SELECT*FROMsxsWHEREyear="+Session["Year"]+"","sxs");去掉单引号
解决方案十一:
你的year是数值型吧?DataSetds=bc.GetDataSet("SELECT*FROMsxsWHEREyear="+Convert.ToInt32(Session["Year"]),"sxs");
解决方案十二:
year是数值型if(Session["Year"]!=null){DataSetds=bc.GetDataSet("SELECT*FROMsxsWHEREyear="+Convert.ToInt32(Session["Year"]),"sxs");//其他代码}
解决方案十三:
用SQLDATAREADER或则SQLDATAADAPTER配合DATASET就可以LZ试一下就知道了
解决方案十四:
引用9楼lucky0000的回复:
DataSetds=bc.GetDataSet("SELECT*FROMsxsWHEREyear="+Session["Year"]+"","sxs");去掉单引号
去掉了还是不行,查询出来的记录集里面还是空的
解决方案十五:
那你数据表到底有没有year=session值的数据啊
解决方案:
引用14楼wyq29的回复:
那你数据表到底有没有year=session值的数据啊
我是前一页如入数据插入数据库后,跳转到这页再显示出来,前一页的代码:protectedvoidButton1_Click(objectsender,EventArgse){BaseClassbc=newBaseClass();Booleanbl;bl=bc.SqlExecute("INSERTINTOsxs(year,ed_les11,ed_les22,ed_ex11,ed_ex22,ed_gra11,ed_gra22,sc_ex11,sc_ex22,sc_ex33,sch,ops,rp,k)VALUES('"+year.Text+"','"+ed_les11.Text+"','"+ed_les22.Text+"','"+ed_ex11.Text+"','"+ed_ex22.Text+"','"+ed_gra11.Text+"','"+ed_gra22.Text+"','"+sc_ex11.Text+"','"+sc_ex22.Text+"','"+sc_ex33.Text+"','"+sch.Text+"','"+ops.Text+"','"+rp.Text+"','"+k.Text+"')");if(bl){Session["Year"]=year.Text;Response.Redirect("~/ManageInfo/xsh.aspx");}else{Response.Write(bc.MessageBox("设置--失败!"));}}
解决方案:
既然year是数值类型你插入语句就不对'"+year.Text+"'你可以很简单的自我检查嘛执行完看看数据库里到底插入数据没有?
解决方案:
引用16楼wyq29的回复:
既然year是数值类型你插入语句就不对'"+year.Text+"'你可以很简单的自我检查嘛执行完看看数据库里到底插入数据没有?
都插进去了,问题就是读不出来,才不知道问题在哪里
解决方案:
你的方法是不是有问题,要不然就没有那个数据
解决方案:
你把你断点的sql语句copy一下,放在sql里看看能不能查到啊,查不到,就是你语句问题了!
解决方案:
在查询分析器执行SQL语句stringsql="SELECT*FROMsxsWHEREyear="+(int)Session["Year"]+"";查看数据库记录
解决方案:
貌似是方法有问题,有谁能提供其他方法吗?
解决方案:
太有用了