C# 操作SQL Server数据库, ExecuteScalar()方法执行T-SQL语句, COUNT(*), 统计数据

C# 操作SQL Server数据库, ExecuteScalar()方法执行T-SQL语句, COUNT(*), 统计数据 


--ExecuteNonQuery()

对连接执行 Transact-SQL 语句并返回受影响的行数,如果SQL语句是对数据库的记录进行操作(如记录的增加、删除和更新),那么方法将返回操作所影响的记录条数。

--ExecuteScalar()
执行查询,并返回查询所返回的结果集中第一行的第一列。 忽略其他列或行。该方法所返回的结果为object类型,在使用之前必须强制转换为所需的类型。

--ExecuteReader()

将 CommandText 发送到 Connection,并生成 SqlDataReader。DataReader对象提供了游标形式的读取方式,当从结果行中读取了一行,则游标会继续读取到下一行。通过read方法可以判断数据是否还有下一行,如果存在数据,则继续运行返回true,如果没有数据,则返回false。

using System;
using System.Data.SqlClient;

namespace ConsoleApp5
{
    class Program
    {
        // INSERT, UPDATE, DELETE
        static void Main(string[] args)
        {
            /*
                --创建数据表
                CREATE TABLE [Users](
                        [Id] [int] IDENTITY(1,1),--主键
                        [Name] [nvarchar](50) NOT NULL,--名称
                        [Sex] [nvarchar](10),--性别
                        PRIMARY KEY([Name])
                );
                INSERT INTO [Users]([Name],[Sex]) VALUES ('Alice','Female');
                INSERT INTO [Users]([Name],[Sex]) VALUES ('Amy','Female');
                INSERT INTO [Users]([Name],[Sex]) VALUES ('Bruce','Male');
             */

            string connectionString = "Data Source=192.168.0.110,1433;Initial Catalog=TestDB;uid=sa;pwd=123456";
            string sqlstring = "SELECT COUNT(*) FROM [Users] WHERE [Sex]='Male';";

            using (SqlConnection conn = new SqlConnection(connectionString))
            {
                using (SqlCommand cmd = new SqlCommand())
                {
                    conn.Open();
                    cmd.Connection = conn;
                    cmd.CommandText = sqlstring;
                    cmd.CommandType = System.Data.CommandType.Text;

                    try
                    {
                        object val = cmd.ExecuteScalar();
                        Console.WriteLine((int)val);
                    }
                    catch
                    {
                        throw;
                    }
                }
            }

            Console.Read();
        }
    }
}


作者最新文章
ASP.NET aspx获取服务器信息, 操作系统, .NET版本, IIS版本
C# Unix转换本地时间, Unix时间戳转换DateTime
C# 获取Unix时间戳
C# DateTime.Ticks 转换为 DateTime
C# 数字转换字符串左边补0, 数字前补0的方法