SQL 中Count()的问题【上海时时乐走势图官网】

假如一张表中有如下的数据:

如何和数据库打交道

1.如何设计数据库与表
2.对数据库进行增删改查
3.优化
4.对象关系映射‘ORM’、

/// <summary>
        /// 判断是否存在某表的某个字段
        /// </summary>
        /// <param name="tableName">表名称</param>
        /// <param name="columnName">列名称</param>
        /// <returns>是否存在</returns>
        public static bool ColumnExists(string tableName, string columnName)
        {
            string sql = "select count(1) from syscolumns where [id]=object_id('" tableName "') and [name]='" columnName "'";
            object res = GetSingle(sql);
            if (res == null)
            {
                return false;
            }
            return Convert.ToInt32(res) > 0;
        }

上海时时乐走势图官网 1

特色

1.轻量级
2.独立
3.隔离
4.跨平台
5.多语言接口
6.安全性

 

select Count(columnName) from TableName 表示查询列名columnName不为null的记录条数。

游标:游标的实质使一种能从包括多条数据记录的结果集种每次提取一条记录的机制;##

/// <summary>
        /// 表是否存在
        /// </summary>
        /// <param name="TableName"></param>
        /// <returns></returns>
        public static bool TabExists(string TableName)
        {
            string strsql = "select count(*) from sysobjects where id = object_id(N'[" TableName "]') and OBJECTPROPERTY(id, N'IsUserTable') = 1";
            //string strsql = "SELECT count(*) FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[" TableName "]') AND type in (N'U')";
            object obj = GetSingle(strsql);
            int cmdresult;
            if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)))
            {
                cmdresult = 0;
            }
            else
            {
                cmdresult = int.Parse(obj.ToString());
            }
            if (cmdresult == 0)
            {
                return false;
            }
            else
            {
                return true;
            }
        }

有时候可以通过select Count(列名) from TableName来等价于select Count(*) from TableName,但是下面的情况就不会等价

SQLite

当使用select Count(*) from TableName表示获取表中数据记录的条数; 

select 列的列表 from 表的列表 where 条件语句 group by 分组属性 having 分组条件 order by 排序列 asc|desc limit m, n;

 

游标的使用,Cursor的方法:

  • close(); 关闭游标 ,释放资源;
  • copyStringToBuffer(int columnIndex,CharArrayBuffer buffer); 在缓冲区中检索请求的列的文本,将其存储;
  • getColumnCount(); 返回所有列的行数;
  • getColumnIndex(String columnName); 返回指定的列,如果不存在那么返回-1;
  • getColumnIndexOrThrow(String columnName);从0开始返回指定列的名称,如 果不存在将抛出异常;
  • getColumnName(int columnIndex);从给定的索引返回列名;*getColumnNames(); 返回一个字符串数组的列名;
  • moveToFirst(); 将游标移动到第一条;
  • moveToLast(); 将游标移动到最后一条;
  • move(int offset); 将游标移动到指定ID;
  • moveToNext(); 将游标移动到下一条;
  • moveToPrevious(); 将游标移动到上一条;
  • getCount(); 得到游标总记录条数;
  • isFirst(); 判断当前游标是否为第一条数据; **

结果是:

SELECT COUNT(*),COUNT(Name) FROM dbo.Members

上海时时乐走势图官网 2

本文由上海时时乐走势图发布于上海时时乐走势图官网,转载请注明出处:SQL 中Count()的问题【上海时时乐走势图官网】

您可能还会对下面的文章感兴趣: