代码如下,asp.net用SQL语句查询结果怎么为空呢?
stringssfl=Request["fl"].ToString();stringssnr=Request["ss"].ToString();stringsql="";...
string ssfl = Request["fl"].ToString();
string ssnr=Request["ss"].ToString();
string sql = "";
//数据库连接字符串……
if (ssfl == "1")
{
sql = "select * from sh where mc like '% " + ssnr + "%' order by id asc";
}
else
if (ssfl == "2")
{
sql = "select * from doc where ( mc like '%" + ssnr + " % ' or nr like '%" + ssnr + " % ') and fl='1' order by id asc";
}
else
{
sql = "select * from doc where (mc like '%" + ssnr + " % ' or nr like '%" + ssnr + " % ') and fl='2' order by id asc";
}
OleDbDataAdapter adsa_s = new OleDbDataAdapter(sql, sqlcon);
DataSet adds_s = new DataSet();
adsa_s.Fill(adds_s);
this.DataList8.DataSource = adds_s;
this.DataList8.DataBind();
网页能正常运行,但是datalist中没有任何内容,请大神帮我看看。 展开
string ssnr=Request["ss"].ToString();
string sql = "";
//数据库连接字符串……
if (ssfl == "1")
{
sql = "select * from sh where mc like '% " + ssnr + "%' order by id asc";
}
else
if (ssfl == "2")
{
sql = "select * from doc where ( mc like '%" + ssnr + " % ' or nr like '%" + ssnr + " % ') and fl='1' order by id asc";
}
else
{
sql = "select * from doc where (mc like '%" + ssnr + " % ' or nr like '%" + ssnr + " % ') and fl='2' order by id asc";
}
OleDbDataAdapter adsa_s = new OleDbDataAdapter(sql, sqlcon);
DataSet adds_s = new DataSet();
adsa_s.Fill(adds_s);
this.DataList8.DataSource = adds_s;
this.DataList8.DataBind();
网页能正常运行,但是datalist中没有任何内容,请大神帮我看看。 展开
展开全部
请在此语句:OleDbDataAdapter adsa_s = new OleDbDataAdapter(sql, sqlcon); 增加一个断点。重新运行此网页后当系统中断运行时,重点检查并分析变量sql的内容。
追问
我给fl 和 ssnr 两个变量分别赋值后加了断点,发现adsa_s 和 adds_a都是空的,sql的内容是 "select * from sh where mc like '% 测试%' order by id asc" 我总觉得like 这个地方有问题,在asp.net中用法和其他地方不一样吗?语言是C#。
追答
1. 你说“发现adsa_s 和 adds_a都是空的”,是因为系统只运行到被设置了断点的语句之前就会中断,所以你看到的adsa_s 和 adds_a当然是null(空)。因此,你接下来,取消上面所设断点,并在语句:this.DataList8.DataSource = adds_s; 设置另一个新断点,再次运行。当再次中断运行时,你可以检查对象adsa_s和 adds_a:如果adsa_s为空,说明此句OleDbDataAdapter adsa_s = new OleDbDataAdapter(sql, sqlcon); 有问题,你就着重检查数据库的连接对象sqlcon了; 如不为空,对象adds_a也不会为空的。
2. 从你发的sql的内容来的,语法没看出有问题。但你还是要检查在输入 语句时保证是英文书写,其次,sql = "select * from sh where mc like '% " + ssnr 。。。语句的两个%符号是英文,且第一个%符号之后和最后一个%之前不应有空格(怎么我发现似乎有个空格,若有空格,那就会影响查询结果了);说的是一些细节,但细节往往决定成败,而且容易让人调试走入歧途。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询