加载时在textbox中显示从数据库读出的内容
代码如下:protected void Page_Load(object sender, EventArgs e)
{if (Session["Year"] == null)
{
Response.Write("<script>this.parent.location.href='../Default.aspx'</script>");
return;
}
if (!Page.IsPostBack)
{
BaseClass bc = new BaseClass();
DataSet ds = bc.GetDataSet("SELECT * FROM sxs WHERE year ='" + 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里面有内容没 --------------------编程问答-------------------- DataSet ds = bc.GetDataSet("SELECT * FROM sxs WHERE year ='" + Session["Year"] + "'", "sxs");
放一个断点 看看 执行有记录集吗? --------------------编程问答-------------------- 打个断点 调试 这个很好找的吧。。。 --------------------编程问答-------------------- 看session["Year"]有值没 把查询语句执行下看有没数据
有数据的话肯定能显示 --------------------编程问答--------------------
--------------------编程问答--------------------
if (!IsPostBack)
{
string sql = "select * from [HrDemand] where ID = " + Request.QueryString["ID"];
dr = new CReader(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();
}
执行后没有记录集,怎么回事呢? --------------------编程问答-------------------- "SELECT * FROM sxs WHERE year ='" + Session["Year"] .toString()+ "'", "sxs"
看看 sql语句 复制粘贴到数据库看能不能查出数据 --------------------编程问答--------------------
查询时有以下错误:
将 varchar 值 '" + Session["Year"] + "' 转换为数据类型为 int 的列时发生语法错误。 --------------------编程问答-------------------- DataSet ds = bc.GetDataSet("SELECT * FROM sxs WHERE year =" + Session["Year"] + " ", "sxs");
去掉单引号 --------------------编程问答-------------------- 你的year是数值型吧?
DataSet ds = bc.GetDataSet("SELECT * FROM sxs WHERE year =" + Convert.ToInt32(Session["Year"]), "sxs"); --------------------编程问答-------------------- year是数值型
if(Session["Year"]!=null)
{
DataSet ds = bc.GetDataSet("SELECT * FROM sxs WHERE year =" + Convert.ToInt32(Session["Year"]), "sxs");
//其他代码
} --------------------编程问答-------------------- 用SQLDATAREADER或则SQLDATAADAPTER配合DATASET就可以
LZ试一下就知道了 --------------------编程问答--------------------
去掉了还是不行,查询出来的记录集里面还是空的 --------------------编程问答-------------------- 那你数据表到底有没有 year= session值的数据啊 --------------------编程问答--------------------
我是前一页如入数据插入数据库后,跳转到这页再显示出来,前一页的代码:
protected void Button1_Click(object sender, EventArgs e)
{
BaseClass bc = new BaseClass();
Boolean bl;
bl = bc.SqlExecute("INSERT INTO sxs (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 + "'
你可以很简单的自我检查嘛 执行完 看看数据库里到底插入数据没有? --------------------编程问答--------------------
都插进去了,问题就是读不出来,才不知道问题在哪里 --------------------编程问答-------------------- 你的方法是不是有问题,要不然就没有那个数据 --------------------编程问答-------------------- 你把你断点的sql语句copy一下,放在sql里看看 能不能查到啊,查不到,就是你语句问题了! --------------------编程问答-------------------- 在查询分析器执行SQL语句
string sql="SELECT * FROM sxs WHERE year =" + (int)Session["Year"] + "";
查看数据库记录 --------------------编程问答-------------------- 貌似是方法有问题,有谁能提供其他方法吗? --------------------编程问答-------------------- 太有用了
补充:.NET技术 , ASP.NET