欢迎来到忆约科技! 手机版

C# 社区推荐

当前位置:首页 > 编程专栏 > C# > 正文

C# 操作SQL Server数据库, 参数化执行T-SQL语句, 将记录结果填充到DataSet中

编辑时间:2020年08月07日 05:30 作者:E小编

C# 操作SQL Server数据库, 参数化执行T-SQL语句, 将记录结果填充到DataSet中


创建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;";

            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;

                    // 绑定参数, 方式一
                    cmd.Parameters.AddWithValue("@Sex", "Male");

                    //// 绑定参数, 方式二
                    //cmd.Parameters.Add("@Sex", SqlDbType.NVarChar);
                    //cmd.Parameters["@Sex"].Value = "Male";

                    try
                    {
                        using (DataSet ds = new DataSet())
                        {
                            using (SqlDataAdapter da = new SqlDataAdapter(cmd))
                            {
                                da.Fill(ds);
                            }
                            // return ds;
                        }
                    }
                    catch
                    {
                        throw;
                    }
                }
            }

            Console.Read();
        }
    }
}


二维码