C#中SqlConnection()的用法

目录

一、建立数据库      

二、连接数据库

1.数据库登录方式        

2.数据库连接格式

3.SqlConnection()方法打开数据库

4.连接上图windows验证登录的数据库db_CSharp

(1)源码

(2)生成效果

三、关闭数据库

1.源码

2.生成效果 


        C#的数据库编程中,SqlConnection()主要用于连接Sqlserver数据库。

一、建立数据库      

        C#中SQL server的成功安装-CSDN博客         https://blog.csdn.net/wenchm/article/details/133499909?spm=1001.2014.3001.5501

二、连接数据库

1.数据库登录方式        

        连接SQL Server数据库的方式一般有两种,一种是以SQL身份验证登录,一种是以Windows身份验证登录。

 

2.数据库连接格式

        两种登录方式的SqlConnection()数据库连接格式是不同的。

        SQL验证登录:Server=服务器名称;user=登录SQL的用户名;pwd=登录SQL的用户名的密码;database=数据库名称;

        Windows验证登录:Server=服务器名称;integrated security=SSPI;Initial Catalog=数据库名称;

3.SqlConnection()方法打开数据库

        先创建SqlConnection(string)新的实例对象,再用open()打开Sqlserver数据库,再用Close()方法关闭打开的sqlserver数据库。

        通过try...catch...finally语句控制连接数据库释放资源。

// SQL验证登录:Server=服务器名称;user=登录SQL的用户名;pwd=登录SQL的用户名的密码;database=数据库名称;                  
// Windows验证登录:Server=服务器名称;integrated security=SSPI;Initial Catalog=数据库名称;
string ConStr = "server=DESKTOP-QFENBNJ\\SQL_WEN;integrated security=SSPI;Initial Catalog=" + textBox1.Text.Trim();
SqlConnection conn = new SqlConnection(ConStr);
conn.Open();

4.连接上图windows验证登录的数据库db_CSharp

(1)源码

//Form1.cs
//连接数据库
using System;
using System.Data;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace Test01
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private void Button1_Click(object sender, EventArgs e)
        {
            if (textBox1.Text == "")
            {
                MessageBox.Show("请输入要连接的数据库名称");
            }
            else
            {
                try
                {
                    // SQL验证登录:Server=服务器名称;user=登录SQL的用户名;pwd=登录SQL的用户名的密码;database=数据库名称;
                    // Windows验证登录:Server=服务器名称;integrated security=SSPI;Initial Catalog=数据库名称;
                    string ConStr = "server=DESKTOP-QFENBNJ\\SQL_WEN;integrated security=SSPI;Initial Catalog=" + textBox1.Text.Trim();
                    SqlConnection conn = new SqlConnection(ConStr);
                    conn.Open();
                    if (conn.State == ConnectionState.Open)
                    {
                        label2.Text = "数据库【" + textBox1.Text.Trim() + "】已经连接并打开";
                    }
                }
                catch
                {
                    MessageBox.Show("连接数据库失败");
                }
            }
        }
    }
}

(2)生成效果

 

三、关闭数据库

        当对数据库操作完毕后,要关闭与数据库的连接,释放占用的资源。通过调用SqlConnection对象的 Close方法或Dispose方法关闭与数据库的连接,这两种方法的主要区别是:Close方法用于关闭一个连接;而Dispose方法不仅关闭一个连接,而且还清理连接所占用的资源。当使用Close方法关闭连接后,可以再调用Open方法打开连接,不会产生任何错误;而如果使用Dispose方法关闭连接,就不可以再次直接用Open方法打开连接,必须再次重新初始化连接再打开。

1.源码

//Form1.cs
//关闭数据库Close方法或Dispose方法
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Linq;
using System.Reflection.Emit;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace _2
{
    public partial class Form1 : Form
    {
        public SqlConnection conn;

        public Form1()
        {
            InitializeComponent();
        }

        /// <summary>
        /// 初始化Form1
        /// </summary>
        private void Form1_Load(object sender, EventArgs e)
        {
            textBox1.Size = new Size(170, 20);
            button1.Size = new Size(75,20);
            button2.Size = new Size(330,20);
            button3.Size = new Size(330,20);

            button1.Text = "连接数据库";
            button2.Text = "先使用Close方法关闭连接再用Open方法连接数据库";
            button3.Text = "先使用Dispose方法关闭连接再用Open方法连接数据库";

            label1.Text= "数据库名称:";
        }

        /// <summary>
        /// 连接数据库
        /// SQL验证登录:Server=服务器名称;user=登录SQL的用户名;pwd=登录SQL的用户名的密码;database=数据库名称;
        /// Windows验证登录:Server=服务器名称;integrated security=SSPI;Initial Catalog=数据库名称;
        /// </summary>
        private void Button1_Click(object sender, EventArgs e)
        {
            if (textBox1.Text == "")
            {
                MessageBox.Show("请输入要连接的数据库名称");
            }
            else
            {
                try
                {                    
                    string ConStr = "Server=DESKTOP-GFMO83R;integrated security=SSPI;Initial Catalog=" + textBox1.Text.Trim();
                    conn = new SqlConnection(ConStr);
                    conn.Open();
                    if (conn.State == ConnectionState.Open)
                    {
                        richTextBox1.Text = "数据库【" + textBox1.Text.Trim() + "】已经连接并打开";
                    }
                }
                // 也可以有参数catch(Exception ex)
                // richTextBox1.Text =(ex.Message);
                catch
                {
                    richTextBox1.Text = "连接数据库失败";
                    //MessageBox.Show("连接数据库失败");
                    textBox1.Text = "";
                }
            }
        }

        /// <summary>
        /// Close方法用于关闭一个连接;
        /// 当使用Close方法关闭连接后,可以再调用
        /// Open方法打开连接,不会产生任何错误;
        /// </summary>
        private void Button2_Click(object sender, EventArgs e)
        {
            try
            {
                string str = "";
                conn.Close();
                if (conn.State == ConnectionState.Closed)
                {
                    str = "数据库已经成功关闭\n";
                }
                conn.Open();
                if (conn.State == ConnectionState.Open)
                {
                    str += "数据库已经成功打开\n";
                }
                richTextBox1.Text = str;
            }
            catch (Exception ex)
            {
                richTextBox1.Text = ex.Message;
            }
        }

        /// <summary>
        /// Dispose方法不仅关闭一个连接,而且还清理连接所占用的资源。
        /// 如果使用Dispose方法关闭连接,就不可以再次直接用Open方法
        /// 打开连接,必须再次重新初始化连接再打开。
        /// </summary>
        private void Button3_Click(object sender, EventArgs e)
        {
            try
            {
                conn.Dispose();
                conn.Open();
            }
            catch (Exception ex)
            {
                richTextBox1.Text = ex.Message;
            }
        }
    }
}

2.生成效果 

 

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
第1天 注释的应用 第2天 02_+号的应用 03变量的使用 C的转义符 05交换量变量 07接收用户的信息 04个练习 06占位符 第3天 04逻辑运算符 05if结构 06习题 03bool类型 02Convert字符转换练习 01Convert字符装换 用户登录 第3天 Net第三天取余 第4天 01异常捕获 02练习 02异常捕获 03switch-case 04while循环 06练习 07while练习与do--while 08for 循环 12continue 09乘法口诀练习 10类型转换和方法转换 11tryparse练习 13三元表达式 第5天 00随机数 05数组 06数组的运用 06数组的运用:冒泡程序 07方法 01枚举 04结构 02枚举和int以及sting类型之间的转换 03枚举练习 第6天 01方法调用 判断是否为整数 yes或no 02方法练习求数组的和 03方法 out参数求数组的和 04 out参数练习 05 out练习 06 ref参数 07 ref 参数练习 08 params 可变参数 09方法的重载 10方法的递归 11方法练习 第7天 01面向对象 02 属性 03练习 第7天 01复习 02方法的调用问题 03判断闰年 04方法概念 05方法练习 06方法的3个练习 07out参数 08使用out参数做登陆 09自己动手写tryparse 10ref参数 11、ref练习 12params可变参数 13、方法的重载 14、方法的递归 15方法练习 第8天 01面向对象复习 02命名空间 03字符串的高级用法 04字符串练习 05继承 Driver Person Program Student Teacher 06继承的练习 第9天 00里氏转换 01里氏转换 M1 M2 M3 M4 person Program 02protected ArrayList集合 ArrayList集合练习 第10天 03_List泛型集合 04_Dictionary 05泛型集合练习 06文件流 FileStream 07StreamReader和StreamWriter 02 file类 01 path类。File.ReadAllBytes 第11天 02 抽象类 Animal Cat Dog Program 02-抽象类 Animal Program 03抽象类练习 04复习 06接口 05设计模式 06序列化 07partial部分类 08sealed密封类 01面向对象-多态 第12天 01接口 02接口的特点 03接口练习 03解决接口与方法重名问题 04收银系统 Banana BuDaZhe CangKu ....... 第13天 01第12天_接口 第14天 01MDI窗体设计 02PictureBox实现图片切换 03PictureBox和timer练习 第14天 MD5加密 03WindowsForms练习 05timer跑马灯练习 06timer闹钟练习不是完整的 08单选和多选练习 01MD5加密 04textBox控件显示输入的文本 02windows控件弹出窗体练习 07简单记事本应用 第15天 01浏览器控件 02下拉框日期选择器 02日期选择器控件 03双击播放音乐 04对话框练习 第16天 01播放音乐 01打开文件双击播放音乐 02线程 03线程执行带参数的方法-摇奖机 04创建服务端Socket(未实现) 04客户端的Socket(未实现) 05创建服务端的Socket 05创建客户端的Socket ConsoleApp1 第17天 02Command操作数据 03DataReader读取数据 04DataSet数据集 05DataAdapter数据适配 01第17天Connection数据库打开关闭 第18天 01DataGridView-表格数据控件 02DataGridView隐藏行列 03 DataGridView直接修改数据 04DataGridView当前行显示不同颜色 05分页 第19天 01进程 02进程 03FileStream文件流 03复制文件 03正则表达式 04正则表达式下载页面图片(未实现) 第20天 01创建XML文档 02对xml文档增删改查 03.2判断是否登录成功原版 03判断是否登录成功 04Xml增删改查 05Xml增删改查(更改的) 第21天 01为什么会有委托 02泛型委托 03多播委托 04使用委托进行窗体传值 05事件 06事件 07程序集的引用 07Common 08反射的常用函数 09用反射制作计算器 第22天 01 SqlConnection 数据库 02ConnectionStringBvilderDemo字符串创建器 03ConfigDemo 配置文件配置连接字符串 05UserDemon 04UserDemo 06DataImporting数据导入 07DataReader读取数据 第23天 第23天UserDemon用户登录
C#,使用SqlConnection连接mdf数据库可以通过以下步骤实现: 1. 首先,需要在配置文件添加数据库连接字符串。这可以通过在<connectionStrings>标签添加<add>标签来完成。例如,引用\[1\]的代码片段展示了一个连接字符串的示例。 2. 在代码,使用SqlConnection类创建一个数据库连接对象,并传入连接字符串作为参数。例如,引用\[2\]的代码展示了如何创建一个连接对象。 3. 使用连接对象打开数据库连接。可以使用Open()方法来打开连接。 4. 执行SQL命令并获取查询结果。可以使用SqlCommand类来执行SQL命令,并使用ExecuteReader()方法获取查询结果。 5. 将查询结果绑定到DataGridView控件。可以使用GridView1.DataSource属性将查询结果连接到DataGridView控件,并使用GridView1.DataBind()方法将结果与控件绑定。 6. 最后,关闭数据库连接。可以使用Close()方法来关闭连接。 总结起来,连接mdf数据库的步骤包括创建连接字符串、创建连接对象、打开连接、执行SQL命令、绑定查询结果和关闭连接。以上是一个基本的示例,具体的实现可能会根据具体的需求和情况有所不同。 #### 引用[.reference_title] - *1* [C#winform直接连接SQL数据库mdf文件](https://blog.csdn.net/pp_fzp/article/details/51584224)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [C# 数据库连接](https://blog.csdn.net/m0_50925472/article/details/125004473)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [C#WinForm连接本地或远程Sql数据库,并进行简单操作。](https://blog.csdn.net/hsk_scnu/article/details/51628354)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wenchm

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值