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);
}
}
}
}

ADO.NET 连接数据库 【vs2022 + sqlServer】的更多相关文章

  1. 第18课-数据库开发及ado.net 连接数据库.增.删.改向表中插入数据并且返回自动编号.SQLDataReade读取数据

    第18课-数据库开发及ado.net 连接数据库.增.删.改向表中插入数据并且返回自动编号.SQLDataReade读取数据 ADO.NET 为什么要学习? 我们要搭建一个平台(Web/Winform ...

  2. MFC中使用ADO方式连接数据库

    文章转自:http://blog.sina.com.cn/s/blog_a43aba5601014z8h.html 一.数据库操作准备 1.导入ADO动态链接库 在工程的stdafx.h中加入如下语句 ...

  3. ASP.NET MVC使用ADO.NET连接数据库

    深入理解ADO.NET友情链接:http://www.cnblogs.com/liuhaorain/category/352388.html 小白手把手:VS2017  SQL Server 2014 ...

  4. ado.net 连接数据库

    一.用SqlConnection连接SQL Server 1..加入命名空间 using System.Data.SqlClient; 2.连接数据库 SqlConnection myConnecti ...

  5. 通过ADO方式连接数据库

    首先你正确安装了MySQL的数据库驱动程序(mysql-connector-odbc-5.1.6-win32.msi )或者64位的 本地连接: 1.在桌面上新建一个空的文本文件mysql.txt,重 ...

  6. ADO.NET连接数据库的两种方式

    //实现了IDisposable接口的类,用using括起来 //插入数据 string connString = "Data Source=(local);Initial Catalog= ...

  7. Java连接数据库之SQLServer

    工具: eclipse Microsoft SQL Server SQL Server连接驱动:mssql-jdbc-6.4.0.jre8.jar SQL script代码 CREATE DATABA ...

  8. 数据库的连接使用——使用ADO.NET连接数据库

    一.ADO.NET简介 ADO.NET是由很多类组成的一个类库,这些类库提供了很多对象,用来完成数据的连接.查询.插入.更新和删除等操作.其中主要包括以下对象: 1.Connection对象:用来连接 ...

  9. vba + ado +sql 连接数据库的常用操作方式

    vba + ado +sql 连接Access.MySQL.Oracle Private Sub Connection_DBA() '********************************* ...

  10. ADO.NET连接数据库增删查改创建公用类

    顺序如下:再web.config中添加数据库的用户名和密码 创建公用类. //添加进web.config中的账号和密码 /*<connectionStrings> <add name ...

随机推荐

  1. 5、Git之版本号

    5.1.概述 每一次提交,Git 都会生成相关的版本号:每个版本号由 40 位 16 进制的数字组成. 这 40 位 16 进制的数字,是根据提交的内容,通过 SHA-1 算法计算出来的. 版本号具体 ...

  2. 3天搞定Linux,1天搞定Shell笔记

    Linux概述 Linux是一个操作系统OS 开源 MacOS基于Darwin,Darwin基于FreeBSD开发. Linux基于Minix(开发重写),Minix基于Unix开发. Linux一切 ...

  3. 实体类如何"不费力气"的转为Map

    初衷: db返回了一个实体类,想封装成一个Map留着按需获取属性,所以就有了下面的Utils import java.lang.reflect.InvocationTargetException; i ...

  4. 最短小精悍的js数组打乱顺序

          let number = [1, 45, 13, 17];       // 封装一个打乱数组的方法       function getarr(arr) {         return ...

  5. 【粉丝问答19】Linux内核中为啥变量没初始化就用了?你确定了解宏定义?

    @ 目录 一.问题 二.分析 三.宏定义的注意点 1. 只占用编译时间 2. 宏替换发生时机 3. 预处理包括哪些工作 四.如何快速展开复杂的宏定义? 第一步 第二步 五.练习 六.15个经典宏定义小 ...

  6. 零基础学习人工智能—Python—Pytorch学习(七)

    前言 本文主要讲神经网络的下半部分. 其实就是结合之前学习的全部内容,进行一次神经网络的训练. 神经网络 下面是使用MNIST数据集进行的手写数字识别的神经网络训练和使用. MNIST 数据集,是一个 ...

  7. Win32 拆分窗口

    前两天学习了MFC的拆分窗口,今天来学习Win32 SDK下如何拆分窗口. win32是没有像MFC那样直接有函数方法拆分窗口,只能自己处理了. 1.在WM_CREATE消息中创建两个控件,TreeV ...

  8. Linux下编程常用基本命令

    Linux常用命令 基本操作命令 ls命令 ls -l # 列出文件和目录的详细信息 ls -R # 列出所有文件 ls -a # 列出隐藏文件 l;s # 列出 mv命令 mv example.tx ...

  9. Snap 使用

    Snap 是一个或多个应用程序的捆绑包,可在许多不同的 Linux 发行版中使用,无需依赖或修改.Snap 可从 Snap Store(一个拥有数百万用户的公共应用程序商店)中发现和安装.很多常用的软 ...

  10. Redis解读(5):Redis深入理解及生产高可用

    Redis单线程如何处理高并发 1.阻塞IO 与 非阻塞 IO Java 在 JDK1.4 中引入 NIO,但是也有很多人在使用阻塞 IO,这两种 IO 有什么区别? 在阻塞模式下,如果你从数据流中读 ...