C#访问数据库MSSQL

2023-11-05

首先声明命名空间using System.Data.SqlClient;

再使用SqlConnection类连接,SqlCommand类执行SQL命令,结果返回给SqlDataReader类或其它类。

 

各类的基本用法介绍:

SqlConnection类

在构造时传入连接数据库字符串,也可以定义后通过ConnectionString属性来设置。

用Open()连接数据库,用Close()关闭连接。

 

SqlCommand类

在构造时传入SQL命令和SqlConnection类对象,也可以定义后通过CommandText属性和Connection属性来设置。

执行SQL命令并得到结果                 SqlDataReader ExecuteReader()

执行SQL命令并得到受影响的行数    int ExecuteNonQuery()

 

SqlDataReader类

得到共有多少列          FieldCount属性

得到第i列的列名         string GetName(int i)

得到第i列的数据类型  Type GetFieldType(int i)

判断第i列是否为空     bool IsDBNull(int i)

得到第i列的数据        Object GetValue(int i)也可以直接sr[i].ToString()

前进到下一列            bool Read()

关闭                         void Close()

 

 

对 于每个关联的 SqlConnection,一次只能打开一个 SqlDataReader,在第一个关闭之前,打开另一个的任何尝试都将失败。类似地,在使用 SqlDataReader 时,关联的 SqlConnection 正忙于为它提供服务,直到调用 Close()时为止。

 

//连接数据库  
    string SQLCONNECT = @"server=PC-200907281720\SQLEXPRESS;database=master;uid=morewindows;pwd=12345";  
    SqlConnection conn = new SqlConnection(SQLCONNECT);  
    conn.Open();  
      
    //连接数据库之后就可以执行SQL命令了  
    //使用SqlCommand类的ExecuteReader()返回执行的结果  
    string SQLCOMMAND = "select CName, names, C4.LastLogin from C4, S4 where C4.LastLogin = S4.LastLogin order by CName, names";  
    SqlCommand sqlcmd = new SqlCommand(SQLCOMMAND, conn);  
    SqlDataReader sr = sqlcmd.ExecuteReader();  
      
    Console.WriteLine("列数:" + sr.FieldCount);     
              
    Console.WriteLine("列类型分别为:");   
    int nSqlCol = sr.FieldCount;  
    for (int i = 0; i < nSqlCol; ++i)  
    Console.Write(sr.GetFieldType(i) + " ");  
    Console.WriteLine();  
      
    while (sr.Read())  
    {  
    for (int i = 0; i < nSqlCol; i++)  
    Console.Write(sr[i].ToString() + " ");  
    Console.WriteLine();  
    }  
    sr.Close();  
      
    //通过SqlCommand 类的ExecuteNonQuery()来返回受影响的行数。  
    string SQLCOMMAND2 = "update dbo.Messages set MessageNum='15' where MessageID='2'";  
    SqlCommand sqlcmd2 = new SqlCommand(SQLCOMMAND2, conn);//也可以用sqlcmd. ConnectionString = SQLCOMMAND2 代替  
    int nResult = sqlcmd2.ExecuteNonQuery();  
    Console.WriteLine("受影响行数:" + nResult);  
      
    conn.Close();

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C#访问数据库MSSQL 的相关文章

随机推荐

  • wifi协议_图解 802.11wifi协议

    微信公众号 卢同学关注可了解更多 若有问题或建议 请与本人联系或者公众号留言 如果你觉得此文对你有帮助 欢迎赞赏 目录 凡事若能综观形势 通常有助于细节的进一步探究 从OSI七层模型来看 802规范的重心放在OSI模型最下面的两层 即数据链
  • Python爬虫入门7:HTML报文解析获取网页基本信息

    前往老猿Python博客 https blog csdn net LaoYuanPython 一 引言 BeautifulSoup是三方模块bs4中提供的进行HTML解析的类 可以认为是一个HTML解析工具箱 对HTML报文中的标签具有比较
  • wrieshark 抓包图解 MSDU AMSDU MPDU AMPDU 的区别

    区分这几种帧格式明确 802 3 和 802 11 两种帧格式即可 MSDU 首先 MSDU 是802 3的帧格式 从以太口发出去的帧都是MSDU格式的 A MSDU AMSDU 是把几个MSDU 聚合在一起并从以太网口发出去的帧 MPDU
  • 性能测试流程

    目 录 一 文档介绍 3 1 1文档目的 3 1 2适用对象 3 二 性能测试简介 3 2 1 性能测试概念 3 2 2 常用性能指标 4 2 3常用性能测试工具 5 三 性能测试流程 6 3 1 性能测试流程图 6 3 2 性能测试流程详
  • APScheduler 源码阅读(二) job

    趁热打铁 学习一下 APScheduler 的 python 的源码 很好奇任务调度控制的实现 分析源码主要还是针对 APScheduler 下的几个关键的模块 events 事件 executors 执行器 job 任务 jobstore
  • libcaffe Check failed: registry.count(type) == 1 (0 vs. 1) Unknown layer type: Input (known types: )

    在用libcaffe lib建立工程时 出现 Check failed registry count type 1 0 vs 1 Unknown layer type Input known types 错误 参考了两篇博文解决问题 主要思
  • warning: ignoring JAVA_HOME=D:\JDK; using bundled JDK报错解决

    warning ignoring JAVA HOME D JDK using bundled JDK报错原因是因为你JDK版本太低或者你的ElasticSearch版本太高降低版本即可 我的是JDK1 8我下载的是elasticsearch
  • 八皇后问题--回溯

    在刘汝佳老师的书中对于8皇后问题的分析 我感觉非常经典 8皇后问题可行的解 92个 回溯的定义 当把问题分解成若干的步骤并递归的求解时候 如果当前步骤没有合法的选择 则函数将返回上一级递归调用 这种现象称为回溯 这是这个原因 递归枚举算法常
  • uniapp 保存二维码到本地,如果不是本地图片需要先下载后保存。

    如果二维码不是固定的 是线上的就需要先去下载 baocuns 保存二维码 let that this uni showLoading title 保存中 uni downloadFile 先下载网络图片 转为临时路径图片 url that
  • 进制转换C语言实现(十进制转换为任意进制)

    程序实现功能 输入一个十进制数和R 表示要转换成R进制 输出转换后的数 事例 例如 输入 10 2 输出 1010 源代码如下 include
  • UE的rtsp插件崩溃过程排查

    Part1前言 Invideo插件是一个UE5的rtsp视频播放插件 当然还可以播放主流的其他视频协议 其开源地址如下https github com inveta InVideo 前段时间有网页反馈使用该插件进行播放视频的时候会有偶发程序
  • 如何学习计算机视觉?初学者怎么入门?

    学习计算机视觉需要一定的数学 编程和机器学习基础 以下是一些学习计算机视觉的步骤和资源 如何学习计算机视觉 初学者怎么入门 学习编程语言 计算机视觉的主要编程语言包括Python和C 可以学习Python或C 编程 掌握基本语法和编程思想
  • librtmp ssl 1.0.0 到 ssl 1.1.1

    openssl 版本更新了 导致 librtmp 库不能使用 于是查查资料 Compiler errors dereferencing pointer to incomplete type DH aka struct dh st 根据上面的
  • torch.cuda模块获取信息

    判断GPU是否可用 import torch print torch cuda is available 如果输出True则表示可以使用GPU 输出可使用GPU的数量 import torch print torch cuda device
  • 15 Flutter TabBarView和TabBar 定义顶部 Tab 切换

    Flutter TabBarView和TabBar 定义顶部 Tab 切换 1 属性 TabBar属性 说明 tabs 一系列标签控件 controller 标签选择变化控制器 isScrollable 是否可滚动 默认false indi
  • Floyd 算法,找出所有最短路径或最长路径 matlab (二)

    所有最短路径 在 一 中 我们获得了距离矩阵和路由矩阵 元胞 这个一个无向图 这是上次算出的距离矩阵和路由矩阵 接下来介绍如何根据这个路由矩阵 元胞 列出所有最短路径 结果存储在一个矩阵里 每一行代表一条最短路径的标号 定义列出所有最短路径
  • MQ可以用在哪些地方,解决什么问题?

    MQ kafka是以吞吐量高而闻名 不过其数据稳定性一般 而且无法保证消息有序性 阿里巴巴的RocketMQ基于Kafka的原理 利用Java代码打造 弥补了Kafka的缺点 继承了其高吞吐的优势 其客户端目前以Java为主 RabbitM
  • Python+Opencv实现实时的条形码检测

    目录 一 场景需求简介 二 算法实现步骤 三 图片中条形码检测代码实现 四 图片中条形码检测效果展示与分析 五 视频中条形码检测代码实现 六 视频中条形码检测效果展示与分析 七 思维扩展 参考资料 注意事项 一 场景需求简介 在现实场景中
  • flutter type ‘int‘ is not a subtype of type ‘String?‘

    type int is not a subtype of type String 不是int 将int改成String类型 Unhandled Exception type double is not a subtype of type i
  • C#访问数据库MSSQL

    首先声明命名空间using System Data SqlClient 再使用SqlConnection类连接 SqlCommand类执行SQL命令 结果返回给SqlDataReader类或其它类 各类的基本用法介绍 SqlConnecti