SqlDataAdapter myCommand=new SqlDataAdapter("select * from count where(Datetime='"+nowdatetime+"')",myConnection);
请问高手,如何判断是否找到符合条件的记录没有?只需判断找到与否,不需要知道找到多少以及具体内容,请高手们帮忙!!小弟感激涕零!!
请问高手,如何判断是否找到符合条件的记录没有?只需判断找到与否,不需要知道找到多少以及具体内容,请高手们帮忙!!小弟感激涕零!!
SqlCommand myCommand = new SqlCommand(strSql, myConnection);
int intRet = (int)myCommand.ExecuteScalar();if( intRet > 0 )
// 就表示有记录。
DataSet dset=new DataSet();
myCommand.Fill(dset,"table1");
if(dset.Tables[0].Rows.Count!=0)
{
要执行的代码
}
select 1
else
0
你这根本就是不负责任的做法,ExecuteScalar()该方法用于执行任何一条命令,返回结果集中第一行第一列的值,如果没有这样的Datetime则异常,或者第一行第一列的值,转型为int时失败呢?也会异常。楼主只要求判断的话,可以考虑:
SqlDataAdapter myCommand=new SqlDataAdapter("select * from count where(Datetime='"+nowdatetime+"')",myConnection);
SqlDataReader dr = myCommand.ExecuteReader();
if( dr.Read() )
{
Console.WriteLine("OK!");//表明存在
dr.Close();
}
count(*) !
如果没有记录就是0!
使用DataSet或者DataTable根本没必要!
SqlDataAdapter myCommand=new SqlDataAdapter("select * from count where(Datetime='"+nowdatetime+"')",myConnection);
SqlDataReader dr = myCommand.ExecuteReader();myCommand被你声明成SqlDataAdapter,你以为你负责任么?
Sorry,我没注意看清楚!你说得是,我很少用Command对象,习惯了DataAdapter。上面的确写错了:(