C# 使用Windows身份验证连接Sql Server

使用Windows身份验证连接Sql Server 的字符串为:

server=.;database=test_user;Trusted_Connection=SSPI;

对比使用 sql server身份验证的字符串为:

server=.;uid=xxx;pwd=xxxxx;database=test_user;

核心在于Trusted_Connection=SSPI,表示无需使用密码就能够访问Sql Server内容,但这种方式非常不安全,但在写一些demo时不妨采用。

数据库

use test_user;
create table [TEST](
[ID] int not null check([ID]>0) primary key,
[USERNAME] varchar(10) not null,
[PWD] varchar(100) not null
); insert into [TEST] values(1,'张飞','werqewq');
insert into [TEST] values(2,'刘备','asdfasd');
insert into [TEST] values(3,'关羽','23231cds23d3');
insert into [TEST] values(4,'曹操','vvvvvv');
insert into [TEST] values(5,'孙权','bbbbb');
insert into [TEST] values(6,'汉献帝','333333');
insert into [TEST] values(7,'司马懿','22222');
insert into [TEST] values(8,'诸葛亮','1111111'); select * from [TEST];

Form1.cs

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;//一系列的数据库操作类用到 namespace testuser
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} private void Form1_Load(object sender, EventArgs e)
{
//前加@的字符串代表字符串所有的需要转义的字符自动转义,而无需使用转义符\
SqlConnection sqlConnection = new SqlConnection(@"server=.;database=test_user;Trusted_Connection=SSPI");
sqlConnection.Open();
//生成表头
listView1.Columns.Add("ID", listView1.Width / 3 - 1, HorizontalAlignment.Left);
listView1.Columns.Add("姓名", listView1.Width / 3 - 1, HorizontalAlignment.Left);
listView1.Columns.Add("密码", listView1.Width / 3 - 1, HorizontalAlignment.Left);
try
{
string sql = @" select * from [TEST];";
SqlDataReader sqlDataReader = new SqlCommand(sql, sqlConnection).ExecuteReader(); listView1.BeginUpdate(); //数据更新挂起UI,直到EndUpdate绘制控件
for(int i=1;sqlDataReader.Read(); i++) //遍历查询结果
{
ListViewItem listViewItem = new ListViewItem();
//listView的每一行的第一项要特殊处理
listViewItem.Text = sqlDataReader.GetInt32(0).ToString();
listViewItem.SubItems.Add(sqlDataReader.GetString(1)); //其余子项
listViewItem.SubItems.Add(sqlDataReader.GetString(2));
listView1.Items.Add(listViewItem); //将这行添加到listView中
}
listView1.EndUpdate(); //结束数据处理,UI界面一次性绘制
}
catch
{
MessageBox.Show("数据库出错!", this.Text);
}
sqlConnection.Close();
} //根据ListView 的总大小平均分配各个列宽
private void Form1_Resize(object sender, EventArgs e)
{
for(int i= 0;i<listView1.Columns.Count;i++)
{
ColumnHeader columnHeader = listView1.Columns[i];
columnHeader.Width = listView1.Width / listView1.Columns.Count - 2;
}
}
}
}

Form1.cs[设计]

Form1 事件:Resize Form1_Resize

​ Load Form1_Load

ListView1 属性:Anchor Top,Buttom,Left,Right

​ FullRowSelect True

​ GridLines True

​ View Details

效果

C# 使用Windows身份验证连接Sql Server的更多相关文章

  1. sqlserver 2012 IDE中 Windows身份验证连接服务器报错 ,Login failed for user 'xxx\Administrator'. 原因: 找不到与提供的名称匹配的登录名。

    问题描述: 本地装了两个实例,一个是SQLEXPRESS,可以正常操作.但是另一个开发常用的实例MSSQLSERVER却连Windows身份验证都报错,报的错误也是很奇葩,怎么会找不到Administ ...

  2. 数据库连接windows身份验证、sql验证

    windows身份验证:"server=.;database=Northwind;Integrated Security=True;" sql验证:"server=.;d ...

  3. windows身份验证模式和SQL server身份验证模式 有什么不同

    两个验证方式是有明显不同的. 主要集中在信任连接和非信任连接. windows 身份验证相对于混合模式更加安全,使用本连接模式时候,sql不判断sa密码,而仅根据用户的windows权限来进行身份验证 ...

  4. Windows身份验证和混合验证的差别

    两个验证方式的不同主要集中在信任连接和非信任连接.         windows 身份验证相对于混合模式更加安全,使用本连接模式时候,sql不推断sapassword.而仅依据用户的windows权 ...

  5. C#连接sql server windows 和 sqlserver 身份验证的两种连接字符串

    //sql server 身份验证 连接字符串 private string ConnstrSqlServer = "server=服务器名称;uid=登录名称;pwd=登录密码;datab ...

  6. SQL Server 2008 sa用户可以登录,Windows身份验证无法登录

    安装SQL Server 2008时一切正常,但是在启动时出现了问题.若使用SQL Server 身份验证,选择sa用户可以登录到系统,并正常使用.但是,若使用Windows身份验证,提示用户名或密码 ...

  7. C# 连接 sql server

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.D ...

  8. [转载]SQL Server 2008 R2安装时选择的是windows身份验证,未选择混合身份验证的解决办法

    安装过程中,SQL Server 数据库引擎设置为 Windows 身份验证模式或 SQL Server 和 Windows 身份验证模式.本文介绍如何在安装后更改安全模式. 如果在安装过程中选择&q ...

  9. 安装sql2008的时候选择的是Windows身份验证,现在我想用sql server身份验证,我应该到哪儿设置呢

    本文档整理自网络,存粹用作笔记. 安装过程中,SQL Server 数据库引擎可以设置为 Windows 身份验证模式或 SQL Server 和 Windows 身份验证模式. 本文介绍如何在安装后 ...

  10. SQL Server 2008 Windows身份验证改为混合模式身份验证 及修改sa密码

    由于需要,要把SQL2008单一的Windows身份验证改为混合模式身份验证.在此做一备忘. 步骤: 1.用Windows身份验证方式进入SQL2008,在[对象资源管理器]右键击[根目录]:

随机推荐

  1. 如何通过CAD图中的坐标来确定是哪个坐标系

    国内常见的坐标系 坐标系分为以下两种: 地理坐标系(Geographic Coordinate System, GCS) 投影坐标系(Projected Coordinate System, PCS) ...

  2. 华为防火墙NAT技术

    ---我是陈小瓜,一个普通的路人,和大家一起交流学习,完善自己. 源NAT NAT-no-pat 安全策略写法: 源NAT,写安全策略,写转换前的私网IP,因为先匹配安全策略.再匹配NAT策略 NAT ...

  3. 前端vue基于原生check增强单选多选插件

    前端vue基于原生check增强单选多选插件, 下载完整代码请访问uni-app插件市场地址:https://ext.dcloud.net.cn/plugin?id=12979 效果图如下:     ...

  4. 逍遥自在学C语言 | 多级指针探秘

    前言 多级指针在C语言中是一种特殊的指针类型,它可以指向其他指针的指针. 通过多级指针,我们可以间接地访问或修改存储在内存中的数据. 在本文中,我们将讨论多级指针的概念.使用方法.使用场景以及常见错误 ...

  5. PHP支付接口签名生成数据

    <?php //作者主页 https://www.woailunwen.com $pay_memberid = '商户号'; $pay_orderid = '订单号'; $pay_amount ...

  6. 论文日记二:VGG

    1. 导读 前面我们回顾了AlexNet,AlexNet的作者指出模型的深度很重要,而VGG最大的贡献就在于对网络模型深度的研究. VGG原论文:<Very Deep Convolutional ...

  7. CS144 LAB5~LAB6

    CS144 lab5~6 最后两个lab了,虽然很多大佬都说剩下的两个lab比起TCP的实现,"简直太简单了",但是我认为做这两个之前需要补充一些额外的网络知识,不然直接上手去做的 ...

  8. 包管理工具npm和Yarn的区别,我们该如何选择?

    好家伙,学习新工具    1.为什么我们需要包管理器? 关于npm我们已经知道了,这是我们项目的包管理器, 我们现在用的无比顺手的工具,都是在无数的竞争中杀出来的,他们淘汰了无数的产品   首先,倘若 ...

  9. 2023CCPC大学生程序设计竞赛-nhr

    新生菜菜第一次参加这种大型比赛,还是有点紧张的,CCPC我们队就A了三题,铜牌.第一道,以为是签到,然后就交给clk了,我和crf看下一道过的题比较多的,然后感觉是一个滑动窗口,另一道题是纯数学公式. ...

  10. 论文翻译: FREEVC:朝着高质量、无文本、单次转换声音的目标迈进

    原文:FREEVC: TOWARDS HIGH-QUALITY TEXT-FREE ONE-SHOT VOICE CONVERSION 原文地址:https://ieeexplore.ieee.org ...