日期:2014-05-18  浏览次数:20444 次

如何查找数据库里有没有这行信息

我现在要查找数据库里有没这行,还是通过count来确定有没这条记录吗?
应该怎么做,判断
thisDataSet.Tables[ " "].Rows.Count吗?
还是像asp   里面直接
select   count(*)   from   ....?

在asp里面比如通过rs.eof   什么的来判断

我想在asp.net里面该怎么来判断呢?
求解中!


------解决方案--------------------
如果你的记录只返回一行还是很简单的,做个查询
//前面略
SqlDataReader dr = cmd.ExecuteReader();
if(dr.Read())
{
Response.Write( "找到 ");
}
else
{
Response.Write( "无 ");
}
------解决方案--------------------
用select count(*) from 表 where id=1
然后用Command来运行ExecuteScalar();
再拆箱出来看看是不是等于零

比如:
SqlConnection conn = new SqlConnection( "server=.;...... ");
SqlCommand comm = new SqlCommand( "select count(*) from 表 where id=1 ", conn );
object o = comm.ExecuteScalar();
if( (int)o == 0 )
{
//不存在
}
------解决方案--------------------
thisDataSet.Tables[ " "].Rows.Count
这个只是数据集的用法而已,数据集是占用内存的,它的工作原理是先通过查询器查询数据库的记录,把所得结果全部填充到内存上,如果你查询的数据很大量,这就需要占大量内存,会影响效率。
ASP.NET和ASP的写法很不一样,ASP.NET需要用SqlClient类来读取数据,它可以通过SQL语句得出结果,所以可以用你的 "select count(1) from table "和方法.这个是复杂的类,所以你最好先查一下MSDN或教程.