cmd_str = string.Format(@"select * from (" + @"select top {0} * from (" + @"select top {1} * from ku where tx={2} order by qid asc)" + @"order by qid desc)" + @"order by qid asc;", this.page_size, end, qtype); OleDbDataReader odr = (new OleDbCommand(cmd_str, conn)).ExecuteReader();
在这一段代码里,我本来在from ku where tx={2}的部分写的是from tb_{2}的,这时候就没问题,但是我写成from ku where tx={2}之后就会报错:未将对象引用设置到对象的实例,指向这一行代码 string qtype = Request.Params["qtype"].ToString();
请问是哪里出问题了呢
tx 是什么??是不是字符类型的啊 是不是应该写成from ku where tx=‘{2}’
啊,你说的是对的!太感谢了~怎么没有想到是这个的原因
建议跟踪一下最终执行的SQL语句,从中找出问题所在
string qtype = Request.Params["qtype"].ToString();
“qtype” 应该是不存在!!
一般用 Convert.ToString(Request.Params["qtype"])
会自动处理Null--->空字符串
qtype,Request中看看有这参数没.
Request.Params["qtype"]这个是null吧。
但是我写from tb_{2}的时候就不会报这样的错