C# 使用Windows身份验证连接Sql Server
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的更多相关文章
- sqlserver 2012 IDE中 Windows身份验证连接服务器报错 ,Login failed for user 'xxx\Administrator'. 原因: 找不到与提供的名称匹配的登录名。
问题描述: 本地装了两个实例,一个是SQLEXPRESS,可以正常操作.但是另一个开发常用的实例MSSQLSERVER却连Windows身份验证都报错,报的错误也是很奇葩,怎么会找不到Administ ...
- 数据库连接windows身份验证、sql验证
windows身份验证:"server=.;database=Northwind;Integrated Security=True;" sql验证:"server=.;d ...
- windows身份验证模式和SQL server身份验证模式 有什么不同
两个验证方式是有明显不同的. 主要集中在信任连接和非信任连接. windows 身份验证相对于混合模式更加安全,使用本连接模式时候,sql不判断sa密码,而仅根据用户的windows权限来进行身份验证 ...
- Windows身份验证和混合验证的差别
两个验证方式的不同主要集中在信任连接和非信任连接. windows 身份验证相对于混合模式更加安全,使用本连接模式时候,sql不推断sapassword.而仅依据用户的windows权 ...
- C#连接sql server windows 和 sqlserver 身份验证的两种连接字符串
//sql server 身份验证 连接字符串 private string ConnstrSqlServer = "server=服务器名称;uid=登录名称;pwd=登录密码;datab ...
- SQL Server 2008 sa用户可以登录,Windows身份验证无法登录
安装SQL Server 2008时一切正常,但是在启动时出现了问题.若使用SQL Server 身份验证,选择sa用户可以登录到系统,并正常使用.但是,若使用Windows身份验证,提示用户名或密码 ...
- C# 连接 sql server
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.D ...
- [转载]SQL Server 2008 R2安装时选择的是windows身份验证,未选择混合身份验证的解决办法
安装过程中,SQL Server 数据库引擎设置为 Windows 身份验证模式或 SQL Server 和 Windows 身份验证模式.本文介绍如何在安装后更改安全模式. 如果在安装过程中选择&q ...
- 安装sql2008的时候选择的是Windows身份验证,现在我想用sql server身份验证,我应该到哪儿设置呢
本文档整理自网络,存粹用作笔记. 安装过程中,SQL Server 数据库引擎可以设置为 Windows 身份验证模式或 SQL Server 和 Windows 身份验证模式. 本文介绍如何在安装后 ...
- SQL Server 2008 Windows身份验证改为混合模式身份验证 及修改sa密码
由于需要,要把SQL2008单一的Windows身份验证改为混合模式身份验证.在此做一备忘. 步骤: 1.用Windows身份验证方式进入SQL2008,在[对象资源管理器]右键击[根目录]:
随机推荐
- Odoo 13之十三 :开发之创建网站前端功能
Odoo 13开发之创建网站前端功能 Odoo 起初是一个后台系统,但很快就有了前端界面的需求.早期基于后台界面的门户界面不够灵活并且对移动端不友好.为解决这一问题,Odoo 引入了新的网站功能,为系 ...
- Docker安装MS SQL Server并使用Navicat远程连接
MS SQL Server简介 Microsoft SQL Server(简称SQL Server)是由微软公司开发的关系数据库管理系统,它是一个功能强大.性能卓越的企业级数据库平台,用于存储和处理大 ...
- 300行代码模拟cdn
这一生听过许多道理,但还是过不好这一生,这是因为缺少真正的动手实践,光听道理,缺少动手实践的过程,学习难免会让人觉得味同嚼蜡,所以我的分享都比较倾向于实践,在一次次动手实践的过程中感受知识原本纯真的模 ...
- docker-compose单服务器部署ELK
docker-compose 部署ELK 本项目采用的ELK版本为6.5.3,7.0+ 以上的版本部分配置不适合,请查看docker-compose多服务器部署ELK文章 目录结构 elk |--do ...
- 前端vue基于echart实现散点图
前端vue基于echart实现散点图, 下载完整代码请访问uni-app插件市场地址: https://ext.dcloud.net.cn/plugin?id=12866 效果图如下: 参考代码如 ...
- Python开发中自动化构建项目结构样式
摘要:在项目开发过程中,一个良好的项目结构对于团队的协作和代码的可维护性起着重要作用.通过使用自动生成项目结构文字样式的工具.不仅节省了手动编写项目结构的麻烦,还确保了结构的一致性和准确性. 本文分享 ...
- 什么是 CSR、SSR、SSG、ISR - 渲染模式详解
本文以 React.Vue 为例,介绍下主流的渲染模式以及在主流框架中如何实现上述的渲染模式. 前置知识介绍 看渲染模式之前我们先看下几个主流框架所提供的相关能力,了解的可跳到下个章节. 挂载组件到 ...
- SQL SERVER 拼接字符串转化为表结构数据
本文为一些需要对特殊符号分隔的字符串进行解析,比如将 select '10,20,30,40,50,60' 这个字符串转化为一列多行 下面提供源代码: 1 SET QUOTED_IDENTIFIER ...
- 前端Vue自定义带历史记录的搜索框组件searchBar 支持搜索输入框清空 搜索历史存储记录清除
前端Vue自定义带历史记录的搜索框组件searchBar 支持搜索输入框清空 搜索历史存储记录清除,下载完整代码请访问uni-app插件市场地址:https://ext.dcloud.net.cn/p ...
- Qt源码阅读(五)-deleteLater
Qt deleteLater作用及源码分析 个人经验总结,如有错误或遗漏,欢迎各位大佬指正 在本篇文章中,我们将深入分析源码,探讨deleteLater的原理. deleteLater是Qt框架提供的 ...