国产97色在线|亚洲-欧美人妻另类制服丝袜-欧美人成国产91视频-殷素素一女战二夫|www.ycjrc.net

C# 操作SQL Server數據庫, ExecuteReader()方法參數化執行T-SQL語句, 游標讀取數據

發布時間:2020-08-07 05:24 作者:獨孤劍 閱讀:2430

C# 操作SQL Server數據庫, ExecuteReader()方法參數化執行T-SQL語句, 游標讀取數據

--ExecuteNonQuery()
對連接執行 Transact-SQL 語句并返回受影響的行數,如果SQL語句是對數據庫的記錄進行操作(如記錄的增加、刪除和更新),那么方法將返回操作所影響的記錄條數。

--ExecuteScalar()
執行查詢,并返回查詢所返回的結果集中第一行的第一列。 忽略其他列或行。該方法所返回的結果為object類型,在使用之前必須強制轉換為所需的類型。

--ExecuteReader()

將 CommandText 發送到 Connection,并生成 SqlDataReader。DataReader對象提供了游標形式的讀取方式,當從結果行中讀取了一行,則游標會繼續讀取到下一行。通過read方法可以判斷數據是否還有下一行,如果存在數據,則繼續運行返回true,如果沒有數據,則返回false。


創建SQL Server數據庫、數據表:

USE master;
GO

--創建數據庫
IF NOT EXISTS(SELECT * FROM dbo.sysdatabases WHERE [name]='TestDB')
	CREATE DATABASE TestDB;
GO

--使用數據庫
USE TestDB;
GO

--創建用戶表
IF EXISTS(SELECT * FROM sysobjects WHERE [name]='Users')
	DROP TABLE [Users]
GO
CREATE TABLE [Users](
		[Id] [int] IDENTITY(1,1),--主鍵
		[Name] [nvarchar](50) NOT NULL,--姓名
		[Sex] [nvarchar](10),--性別
		PRIMARY KEY([Name])
);
GO

INSERT INTO [Users]([Name],[Sex]) VALUES ('Alice','Female');
INSERT INTO [Users]([Name],[Sex]) VALUES ('Amy','Female');
INSERT INTO [Users]([Name],[Sex]) VALUES ('Bruce','Male');


C#代碼:
using System;
using System.Data;
using System.Data.SqlClient;

namespace SqlServerDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            string connectionString = "Data Source=127.0.0.1,1433;Initial Catalog=TestDB;uid=sa;pwd=123456";
            string sqlstring = "SELECT * FROM [Users] WHERE [Sex]=@Sex;";

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

                // 綁定參數, 方式一
                cmd.Parameters.AddWithValue("@Sex", "Male");

                //// 綁定參數, 方式二
                //cmd.Parameters.Add("@Sex", SqlDbType.NVarChar);
                //cmd.Parameters["@Sex"].Value = "Male";

                SqlDataReader reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
                while (reader.Read())
                {
                    if (reader.HasRows)
                    {
                        Console.WriteLine(reader.GetInt32(0) + " - " + reader.GetString(1) + " - " + reader.GetString(2));
                    }
                }
            }
            catch
            {
                if (conn.State != ConnectionState.Closed)
                {
                    conn.Close();
                }
                throw;
            }

            Console.Read();
        }
    }
}


微信打賞, 微信掃一掃

支付寶打賞, 支付寶掃一掃

如果文章對您有幫助,歡迎給作者打賞

作者最新文章
開發過程中解決360兼容模式瀏覽器的方法
云南象群向西南方向遷移,云南離群獨象距離象群約12公里
吉林做網站最低價格,吉林企業網站建設價格低至500元起
守象人直擊云南象群最新動向
網站影響百度蜘蛛抓取量的因素有哪些?為什么我的網站Baidu蜘蛛來的次數少?
企業名片
在線客服