C#使用Winform连接SQL Server数据库的详细步骤

 更新时间:2024年09月24日 08:53:42   作者:qq_42772833  
Windows Forms是一个用于构建Windows桌面应用程序的图形用户界面(GUI)库,它是.NET Framework的一部分,允许开发者快速创建丰富的交互式界面,本文给大家介绍了C#使用Winforms连接SQL Server数据库的详细步骤,需要的朋友可以参考下

一. 在 WinForms 应用程序中连接 SQL Server,可以按照以下步骤进行:

1.创建连接字符串

string connectionString = "Server=your_server_name;Database=your_database_name;User Id=your_username;Password=your_password;";

若server=.    则代表当前使用的计算机(本机)

2.使用SqlConnection类创建数据库连接并打开

//创建连接
SqlConnection conn = new SqlConnection(strConn);
//打开数据库连接
conn.Open();

后面可加一个MessageBox.Show("数据库连接成功"); 用于检验数据库是否连接成功

3.SqlCommand类:允许对数据库表做增删改查等操作

需要两个参数,第一个参数: sql语句  第二个参数:SqlConnection对象

string sql = "select * from CrabBox";
SqlCommand cmd = new SqlCommand(sql,conn);

4.SqlDataReader类:获取查询返回的结果集

SqlDataReader sdr = cmd.ExecuteReader();
//通过while循环获取sdr里面的数据
while (sdr.Read())
{
//读取数据库表的数据 
//MessageBox.Show("蟹盒ID:" + sdr["BoxID"]);
 
//将数据库读取出来的内容显示在label标签中
label1.Text = label1.Text + "\n" +"蟹盒ID:" + sdr["BoxID"];
}

说明:sdr[""]里面为数据库表的列名,代码运行结果为显示数据库表中某一列的数据

给出了两种显示例子,一种为MessageBox.Show,以弹框的形式显示;另一种为在label组件中显示;都是比较简单的例子。

5.读取完数据后关闭connection的连接

conn.Close();

二. 如果连接数据库时出现“登录失败”的异常

假设使用的用户名为sa,

1.通常原因

  1. 错误的用户名或密码:确认你使用的 sa 用户名和密码是否正确。可以尝试重新输入密码或检查连接字符串中的用户凭据。

  2. SQL Server 服务未启动:确保 SQL Server 实例正在运行。可以通过 SQL Server Management Studio (SSMS) 或服务管理器检查 SQL Server 服务的状态。

  3. SQL Server 配置问题:检查 SQL Server 是否允许 sa 用户进行登录。确保 SQL Server 配置允许 SQL Server 身份验证模式(而不是仅 Windows 身份验证模式)。

  4. SQL Server 实例名称或连接字符串错误:确认你在连接字符串中指定的 SQL Server 实例名称是正确的。可能需要包括实例名称或使用正确的服务器地址。

  5. 网络问题:如果 SQL Server 是远程实例,确保网络连接正常,没有防火墙阻挡连接。

  6. 账户被禁用:检查 sa 用户是否被禁用。可以通过 SQL Server Management Studio 连接到数据库,然后检查 SQL Server 的安全设置。

2.解决步骤

  1. 验证连接字符串: 确保你的连接字符串正确

  2. 检查 SQL Server 服务

    • 打开 SQL Server Configuration Manager,确保 SQL Server 服务正在运行。
    • 如果 SQL Server 实例未运行,尝试启动它。
  3. 检查身份验证模式

    • 使用 SQL Server Management Studio 连接到数据库。
    • 右键点击服务器,选择“属性”。
    • 转到“安全性”页,确保“SQL Server 和 Windows 身份验证模式”被选中。
  4. 检查 sa 用户

    • 在 SQL Server Management Studio 中,展开“安全性”文件夹,选择“登录名”。
    • 找到 sa 用户,右键点击并选择“属性”。
    • 确保 sa 用户没有被禁用,并且密码正确。
  5. 网络和防火墙设置

    • 如果 SQL Server 是远程的,确保网络设置允许连接,并且没有防火墙阻止 SQL Server 端口(默认为 1433)。

三. 在DataGridView表格容器控件中显示数据库中表的数据

1.使用SqlDataAdapter类

简单示例代码(窗体中需要有一个Button和DataGridView控件):

        private void button2_Click(object sender, EventArgs e)
        {
            string strConn = "server=.;database=CrabFarmDB;User ID=sa;Password=admin123";
            SqlConnection conn = new SqlConnection(strConn);
            conn.Open();
            MessageBox.Show("数据库连接成功");
 
            string sql = "select * from CrabBox";
 
            //在这里操作gridview
            //这里传入的strConn相当于数据源与sql数据库之间的一种桥接器
            SqlDataAdapter da = new SqlDataAdapter(sql, strConn);
            DataSet ds = new DataSet();//相当于一个数据集
 
            //开始加载数据源
            da.Fill(ds);
            //开始将数据集与我们的grid控件做关联
            dataGridView1.DataSource = ds.Tables[0];
 
            //读取完数据后关闭connection的连接
            conn.Close();
        }

以上就是C#使用Winforms连接SQL Server数据库的详细步骤的详细内容,更多关于C# Winforms连接SQL Server的资料请关注脚本之家其它相关文章!

相关文章

  • 5分钟用C#实现串口助手

    5分钟用C#实现串口助手

    本文主要介绍了C#实现串口助手,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • string与stringbuilder两者的区别

    string与stringbuilder两者的区别

    今天小编就为大家分享一篇关于string与stringbuilder两者的区别,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • 深入理解C#中的扩展方法

    深入理解C#中的扩展方法

    下面这篇文章主要给大家介绍了关于c#中扩展方法的相关资料,文中通过示例代码介绍的非常详细,供大家学习参考,感兴趣的朋友可以了解下
    2020-06-06
  • C#科学绘图之使用scottPlot绘制多个图像

    C#科学绘图之使用scottPlot绘制多个图像

    ScottPlot是基于.Net的一款开源免费的交互式可视化库,支持Winform和WPF等UI框架,本文主要为大家详细介绍了如何使用scottPlot实现绘制多个图像,需要的可以参考下
    2023-12-12
  • C#发送和接收HTTP请求类HttpWebRequest的用法

    C#发送和接收HTTP请求类HttpWebRequest的用法

    这篇文章主要给大家介绍了关于C#发送和接收HTTP请求类HttpWebRequest用法的相关资料,C#中的HttpWebRequest是一个用于发送HTTP请求的类,它可以用于向Web服务器发送GET、POST、PUT、DELETE等请求,需要的朋友可以参考下
    2024-06-06
  • C#中利用LINQ to XML与反射把任意类型的泛型集合转换成XML格式字符串的方法

    C#中利用LINQ to XML与反射把任意类型的泛型集合转换成XML格式字符串的方法

    本文主要介绍了C#中利用LINQ to XML与反射把任意类型的泛型集合转换成XML格式字符串的方法:利用反射,读取一个类型的所有属性,然后再把属性转换成XML元素的属性或者子元素。下面注释比较完整,需要的朋友可以看下
    2016-12-12
  • C#获取Word文档中所有表格的实现代码分享

    C#获取Word文档中所有表格的实现代码分享

    这篇文章主要介绍了C#获取Word文档中所有表格的实现代码分享,小编亲测可用,需要的朋友可以参考下
    2014-09-09
  • C#如何提取经纬度文件中的经纬度数据

    C#如何提取经纬度文件中的经纬度数据

    近期开发时需要获取当前的经纬度坐标,下面这篇文章主要给大家介绍了关于C#如何提取经纬度文件中经纬度数据的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2022-08-08
  • C#匿名方法与Delegate类型转换错误分析

    C#匿名方法与Delegate类型转换错误分析

    这篇文章主要介绍了C#匿名方法与Delegate类型转换错误,较为详细的分析了C#匿名方法的用法及Delegate类型转换错误问题解决方法,具有一定的实用价值,需要的朋友可以参考下
    2014-11-11
  • C#之IP地址和整数互转的小例子

    C#之IP地址和整数互转的小例子

    C#之IP地址和整数互转的小例子,需要的朋友可以参考一下
    2013-03-03

最新评论