c#操作SQL Server入门总结
我是一名c#新手。本文只是我是常学习的随笔。
一、下载SQL server软件
听说下载开发板是最好的(开发板如果只是用来学习、研究不算是侵权)。在安装的时候,我也遇到了很多问题,在公司的电脑安装第一遍的时候,竟然没有安装MSSMS(Microsoft Sql Server Manager Studio),于是又安装了一遍才得以成功。于是以windows身份验证顺利链接了数据库服务器。但是回到家中,用家中的笔记本连续装了一周才搞定。(每次安装完,都无法连接到数据库引擎),是什么原因,好像是我sa帐号也在安装的时候填写了。
二、新建数据库以及表
1、新建一个名为db_19的数据库;2、在数据库中新建表
三、C#对Sql Server的各种操作
1、引入命名空间
System.Data; System.Data.SqlClient;
2、定义连接字符串,并建立连接对象
//sql server 身份验证 连接字符串 private string ConnstrSqlServer = "server=服务器名称;uid=登录名称;pwd=登录密码;database=数据库名称";
//windows 身份验证连接字符串 private string ConnstrWindows = "server=服务器名称;database=数据库名称;Trusted_Connection=SSPI";
其中,server是指数据库所在的机器(服务器),如果使用当前机器(本地机器)的话,可 以使用“.”、“(local)”、“127.0.0.1”或本地机器的名字。如果使用其它机器上的数据库的话,可以使用那台机器的机器名字(确保域和工 作组的正确)或IP地址。database指的数据库的名字。uid和pwd分别代表连接数据库的用户名和密码。
建立连接对象使用以下两条语句:
string connString = @"Data Source = LS--20180714CSF\SQL2018; Initial Catalog = db_19; Integrated Security = True";
SqlConnection conn = new SqlConnection(connString);
3、打开数据库连接
try
{
conn.Open();
MessageBox.Show("数据库链接成功","系统消息");
}
catch
{
MessageBox.Show("链接数据库失败", "系统消息");
}
4、command命令对象的应用
Command用于向数据库传输的命令的对象,其构造函数常用两个参数,一个参数是所使用的 命令文本(CommandText),另一个为所使用的连接对象Connection。
假设我们想使用SqlClient模式查询Sql Server中db_19数据库中Table_1表中的xh(学号)、xm(姓名)和xb(性别)三列的值,则可以建立如下的命令对象(sConn参见建立的连接sConn:
SqlCommand sCmd = new SqlCommand("SELECT xh,xm,xb FROM Table_1",sConn);
亦可使用如下的形式:
SqlCommand sCmd = new SqlCommand();
sCmd.CommandText = "SELECT xh,xm,xb FROM student";
sCmd.Connection = sConn;
命令对象常用的有三个方法:ExecuteReader(), ExecuteNonQuery()和ExecuteScalar()。ExecuteReader方法用于返回查询结果的全部数据。 ExecuteNonQuery方法用于返回所影响的行数,一般用于Insert、Update和Delete操作。ExecuteScalar方法返回 结果中的第一行第一列的值。
//定义命令对象sCmd
SqlCommand sCmd = new SqlCommand(sql, conn);
5、数据读取器DataReader
数据读取器应与命令对象配合使用,下面接着4中的例子来写:
SqlDataReader sdr = null;
sdr = sCmd.ExecuteReader(); //执行命令对象,并用sdr指向结果集的第一条记录。
while(sdr.Read()) //每读取一条记录后,指向其下一条记录
{
Console.WriteLine("学号:{0},姓名:{1},性别:{2}",sdr[0],sdr[1],sdr[2]);
}
sdr.Close(); //关闭读取器
//定义数据读取器sdr
SqlDataReader sdr = null;
//执行命令对象sCmd并赋值给sdr
sdr = sCmd.ExecuteReader();
//循环输出sdr中的内容
while (sdr.Read())
{
string sdrStirng = sdr["xh"] + " " + sdr["xm"] + sdr["xb"] + "\r\n";
textBox1.AppendText(sdrStirng);
}
//关闭数据读取器
sdr.Close();
//关闭数据库连接
conn.Close();
C#批量向SQL Server插入数据
private void button1_Click(object sender, EventArgs e)
{
string connString = @"Data Source = LS--20180714CSF\SQL2018; Initial Catalog = db_19; Integrated Security = True";
DataTable dt = new DataTable();
dt.Columns.Add("编号", typeof(int));
dt.Columns.Add("xh", typeof(int));
dt.Columns.Add("xm", typeof(int));
dt.Columns.Add("xb", typeof(int)); Stopwatch sw = new Stopwatch();
sw.Start(); for (int i = ; i <= ; i++)
{
dt.Rows.Add(i, i, i, i);
}
//using (SqlConnection conn = new SqlConnection(SqlHelper.Connstr))
using (SqlConnection conn = new SqlConnection(connString))
{
SqlBulkCopy bulkCopy = new SqlBulkCopy(conn);
bulkCopy.DestinationTableName = "Table_1";
bulkCopy.BatchSize = dt.Rows.Count;
conn.Open();
if (dt != null && dt.Rows.Count != )
{
bulkCopy.WriteToServer(dt);
}
} sw.Stop();
TimeSpan ts = sw.Elapsed;
MessageBox.Show("向数据表Table_1批量添加数据成功!","系统消息");
}
c#操作SQL Server入门总结的更多相关文章
- PHP操作SQL Server 2008/2012
PHP操作SQL Server驱动,微软官方提供2个版本,Version 2.0 和 Version 3.0 Version 2.0 版本支持的操作系统有: Windows Server 2003 S ...
- 使用php来访问操作sql server
使用php来访问操作sql server 在此分成三步走: 第一部:查看配置,下载文件 首先查看自己的php和sql server版本 Php文件输入echo PHP_VERSION 运行脚本就可以 ...
- SQL Server学习之路(七):Python3操作SQL Server数据库
0.目录 1.前言 2.准备工作 3.简单测试语句 4.提交与回滚 5.封装成类的写法 1.前言 前面学完了SQL Server的基本语法,接下来学习如何在程序中使用sql,毕竟不能在程序中使用的话, ...
- Nodejs 操作 Sql Server
Nodejs 操作 Sql Server Intro 最近项目需要爬取一些数据,数据有加密,前端的js又被混淆了,ajax请求被 hook 了,有些复杂,最后打算使用 puppeteer 来爬取数据. ...
- [转]C#操作SQL Server数据库
转自:C#操作SQL Server数据库 1.概述 ado.net提供了丰富的数据库操作,这些操作可以分为三个步骤: 第一,使用SqlConnection对象连接数据库: 第二,建立SqlComman ...
- 数据库SQL Server2012笔记(七)——java 程序操作sql server
1.crud(增删改查)介绍:create/retrieve/update/delete 2.JDBC介绍 1)JDBC(java database connectivity,java数据库连接) 2 ...
- Python 学习笔记:Python 操作 SQL Server 数据库
最近要将数据写到数据库里,学习了一下如何用 Python 来操作 SQL Server 数据库. 一.连接数据库: 首先,我们要连接 SQL Server 数据库,需要安装 pymssql 这个第三方 ...
- 使用WinDbg调试SQL Server——入门
这篇文章我想探究下SQL Server里完全不同的领域:如果使用WinDbg(来自针对Windows的调试工具)调试SQL Server.在我们进入枯涩细节之前,我想详细解释下为什么选择这样晦涩的话题 ...
- ORM之Dapper操作Sql Server和MySql数据库
1.为什么选择Dapper 1)轻量. 2)速度快.Dapper的速度接近与IDataReader,取列表的数据超过了DataTable. 3)支持多种数据库.Dapper可以在所有Ado.net P ...
随机推荐
- 【Git】(1)---工作区、暂存区、版本库、远程仓库
工作区.暂存区.版本库.远程仓库 一.概念 1.四个工作区域 Git本地有四个工作区域:工作目录(Working Directory).暂存区(Stage/Index).资源库(Repository或 ...
- python scrapy 入门,10分钟完成一个爬虫
在TensorFlow热起来之前,很多人学习python的原因是因为想写爬虫.的确,有着丰富第三方库的python很适合干这种工作. Scrapy是一个易学易用的爬虫框架,尽管因为互联网多变的复杂性仍 ...
- [MySQL]支持 emoji(字符集问题)
问题的根源 主要问题就是在字符集,一般解决这种问题都是靠试验.我实验了一通,得出的结论和大家分享一下(如有错误,还望指正): 数据库的字符集 数据库连接的字符集 配置方法 设置数据库的字符集为utf8 ...
- 什么?你竟然还没有用这几个chrome插件?
前言 其实18年之前写过一篇关于chrome插件的文章,里面安利了4个chrome插件.鉴于这已经是9102年了,之前觉得好用的chrome插件跟新了解到的比起来,还是差了那么点味道.所以决定再更新一 ...
- Java 的强引用、弱引用、软引用、虚引用
1.强引用(StrongReference) 强引用是使用最普遍的引用.如果一个对象具有强引用,那垃圾回收器绝不会回收它.如下: Object o=new Object(); // 强引用 当内存空间 ...
- Why DDD and layered architecture
As a developer, you may think that your job is to write code. However, Software development is not a ...
- .NET Core中Object Pool的简单使用
前言 复用,是一个重要的话题,也是我们日常开发中经常遇到的,不可避免的问题. 举个最为简单,大家最为熟悉的例子,数据库连接池,就是复用数据库连接. 那么复用的意义在那里呢? 简单来说就是减少不必要的资 ...
- 通过钩子程序跨程序关闭Window
需求: 在实际场景中会有自身程序在调用第三方的动态库过程中,因为第三方的动态库弹框导致线程阻塞,必须手动将弹窗关闭后才能回到自身程序的主线程中. 最简单的场景就是很多自助设备,本身是没有固定操作员的, ...
- SpringCloud系列——Zuul 动态路由
前言 Zuul 是在Spring Cloud Netflix平台上提供动态路由,监控,弹性,安全等边缘服务的框架,是Netflix基于jvm的路由器和服务器端负载均衡器,相当于是设备和 Netflix ...
- 常用API。
object类: 1.equals方法: public boolean equals (Object obj) , 指示其他某个对象是否与此对象“相等” 源码:public boolean equal ...