ADO.NET 连接数据库 【vs2022 + sqlServer】

发布时间 2023-03-29 22:12:07作者: 朱龙旭看世界
using System.Data;
using System.Data.SqlClient;

namespace Zhu.ADO.NET
{
    internal class Program
    {
        private static object adptr;

        private static void Main(string[] args)
        {
            try
            {
                string constr = "Data Source=joker;Initial Catalog=ZHU;Integrated Security=True;User ID=root;Password=abc123";
                // using 的作用:自动回收网络资源
                using (SqlConnection conn = new SqlConnection(constr))
                {
                    #region @增删改  返回受影响的行数
                    // 默认是关闭的
                    // Console.WriteLine($"状态:{conn.State}");   // Close
                    // conn.Open();
                    // Console.WriteLine($"状态:{conn.State}");   // Open
                    // // conn.Close();
                    // // Console.WriteLine($"状态:{conn.State}");   // Close

                    // // 新建表数据 sql 命令
                    // // [dbo].[zlx] 是数据库名字  【 增删改查 】
                    //string sql = @"INSERT INTO [dbo].[zlx] ([name] ,[id] ,[gender]) values (100 ,2 ,23) INSERT INTO [dbo].[zlx] ([name] ,[id] ,[gender]) values (100 ,2 ,23)"; 
                    // SqlCommand cmd = conn.CreateCommand();  // 必须基于sqlConnection 来操作

                    // // 增删改 返回受影响行数
                    // // 查 返回结果集

                    // cmd.CommandText = sql;  // sql 语句和 cmd 建立联系

                    // // 开始执行
                    // int row = cmd.ExecuteNonQuery();   // insert into 2行 返回  2
                    // Console.WriteLine(row);
                    #endregion


                    #region  @查询 返回结果结合
                    // // 查询 3 前三行的数据
                    // //Console.WriteLine($"状态:{conn.State}");   // Open
                    // // 1. 打开 conn 
                    // conn.Open();
                    // SqlCommand cmd = conn.CreateCommand();
                    // string sql = @"SELECT TOP (3) [name] ,[id] ,[gender] FROM [ZHU].[dbo].[zlx]";
                    // cmd.CommandText = sql;  // sql 语句和 cmd 建立联系

                    // // 执行 sql 语句 【 ps:和增删改的执行不同 】
                    // SqlDataReader reader = cmd.ExecuteReader(); 
                    //// Console.WriteLine(reader.Read());  // true 说明读取到了数据
                    // while (reader.Read())
                    // {
                    //     // 打印结果集
                    //     Console.WriteLine(reader["name"]);
                    //     Console.WriteLine(reader["id"]);
                    //     Console.WriteLine(reader["gender"]);
                    //     Console.WriteLine("----------------------------");
                    // }
                    #endregion

                    // 查询的结果集合使用适配来接收 【 就是方便查看数据 】
                    conn.Open();
                    SqlCommand cmd = conn.CreateCommand();
                    string sql = @"SELECT TOP (10) [name] ,[id] ,[gender] from [zhu].[dbo].[zlx]";
                    cmd.CommandText = sql;  // sql 语句和 cmd 建立联系

                    cmd.CommandType = System.Data.CommandType.Text;
                    SqlDataAdapter adapter = new SqlDataAdapter(cmd);
                    //DataSet ds = new DataSet();
                    //adapter.Fill(ds, "myds");

                    DataTable dt = new DataTable();
                    adapter.Fill(dt);
                    // Console.WriteLine(adapter);
                }
            }
            //Exception 例外
            catch (Exception ex)
            {
                // ex 就是错误
                Console.WriteLine(ex.Message);
            }
        }
    }
}