sql语句查询怎么判断查询结果为空?

yongnicheng 2010-01-20 06:07:53
sql语句查询怎么判断查询结果为空?
我的代码如下

try
{
conn.Open();
string sou = "select * from art where content like '%" + TextBox1.Text + "%'";
SqlDataAdapter da = new SqlDataAdapter(sou, conn);
DataSet ds = new DataSet();
da.Fill(ds);
if (ds == null)
{
Response.Write("没有记录!");
}
else
{
this.sou.DataSource = ds;
this.sou.DataBind();
}
}
catch
{
}

if (ds == null)这里怎么写?
这里执行总是不行,为空的时候也不提示response
...全文
2860 38 打赏 收藏 转发到动态 举报
写回复
用AI写文章
38 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhw626033518 2010-05-12
  • 打赏
  • 举报
回复
学习了
Adechen 2010-01-25
  • 打赏
  • 举报
回复
if(ds.tables[0].rows.count==0)
{
//no records
}
whb147 2010-01-25
  • 打赏
  • 举报
回复
首先看看有没有表
然后再看看有没有记录,呵呵
zhoulihong_1986 2010-01-25
  • 打赏
  • 举报
回复
isnull(字段,'')
lizhibin11 2010-01-25
  • 打赏
  • 举报
回复
int i = da.Fill(ds);本身就返回填充了多少行,直接判断i即可
xray2005 2010-01-25
  • 打赏
  • 举报
回复
if(ds.tables[0].rows.count==0)
{
//没有
}
gdlpc 2010-01-25
  • 打赏
  • 举报
回复
//此句
Page.ClientScript.RegisterStartupScript(GetType(), "sf", " <script language='javascript'>alert('没有记录')</script>");
fox_coconut 2010-01-25
  • 打赏
  • 举报
回复
学习
gdlpc 2010-01-25
  • 打赏
  • 举报
回复
if (ds.Tables["art"].Rows.Count == 0)//art是你的表名
{
Page.ClientScript.RegisterStartupScript(GetType(), "sf", "<script language='javascript'>alert('没有记录').focus()</script>");
}
else
{
this.sou.DataSource = ds;
this.sou.DataBind();
}
chinaly 2010-01-25
  • 打赏
  • 举报
回复
[Quote=引用 32 楼 dongpo888 的回复:]
本身已经使用了DataSet ds = new DataSet();
那不管查询出来有没有数据,ds不会等于null吧
[/Quote]

同意!
dongpo888 2010-01-25
  • 打赏
  • 举报
回复
本身已经使用了DataSet ds = new DataSet();
那不管查询出来有没有数据,ds不会等于null吧
cena_jin 2010-01-25
  • 打赏
  • 举报
回复
学习!
静舞 2010-01-25
  • 打赏
  • 举报
回复
public static DataTable GetTable(DataSet ds)
{
DataTable dt;
if (ds.Tables.Count > 0)
{
dt = ds.Tables[0];
if (dt.Rows.Count > 0)
{
dt = ds.Tables[0];
}
else
{
dt = null;
}
}
else
{
dt = null;
}
return dt;


}
xiaochu62 2010-01-25
  • 打赏
  • 举报
回复
mark
houdilzc 2010-01-25
  • 打赏
  • 举报
回复
/// <summary>
/// 过滤SQL语句,防止注入
/// </summary>
/// <param name="strSql"></param>
/// <returns>true - 没有注入, false - 有注入 </returns>
public bool filterSql(string sSql)
{
int srcLen, decLen = 0;
sSql = sSql.ToLower().Trim();
srcLen = sSql.Length;
sSql = sSql.Replace("exec", "");
sSql = sSql.Replace("master", "");
sSql = sSql.Replace("truncate", "");
sSql = sSql.Replace("declare", "");
sSql = sSql.Replace("create", "");
sSql = sSql.Replace("xp_", "");
decLen = sSql.Length;
return (srcLen == decLen);
}
coolio1 2010-01-24
  • 打赏
  • 举报
回复
如果怕注入,就用raplace来替换引号咯。或者用存储过程吧。
zhujieok3129199 2010-01-24
  • 打赏
  • 举报
回复
学习中啊
ckl881003 2010-01-24
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 code163 的回复:]
ds.tables[0].rows.count==0
[/Quote]
正解
work_fei 2010-01-24
  • 打赏
  • 举报
回复
取表的行数不就知道有没记录了
yongnicheng 2010-01-24
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 yangzheng1128 的回复:]
引用 13 楼 jxyxhz 的回复:
这是多么容易的注入漏洞啊。。。
像我也能写出针对这个代码的注入语句了。。
你至少也应该替换'为''

什么意思?不懂...能告诉我哪里应该改吗?好加强安全措施?

.......[/Quote]..........
加载更多回复(18)

62,254

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧