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的资料请关注脚本之家其它相关文章!

相关文章

  • Unity的IPostBuildPlayerScriptDLLs实用案例深入解析

    Unity的IPostBuildPlayerScriptDLLs实用案例深入解析

    这篇文章主要为大家介绍了Unity的IPostBuildPlayerScriptDLLs实用案例深入解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05
  • C#自定义控件实现TextBox禁止粘贴的方法

    C#自定义控件实现TextBox禁止粘贴的方法

    这篇文章主要介绍了C#自定义控件实现TextBox禁止粘贴的方法,结合具体实例形式分析了C#自定义控件的创建、使用方法及TextBox禁止粘贴的实现技巧,需要的朋友可以参考下
    2017-06-06
  • Unity3D开发之获取所有的子对象的方法详解

    Unity3D开发之获取所有的子对象的方法详解

    这篇文章主要为大家详细介绍了三种Unity3D中获取所有的子对象(child)的方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-01-01
  • c#多线程之线程基础

    c#多线程之线程基础

    本文详细讲解了c#多线程之线程基础,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-04-04
  • C# WinForm导出Excel方法介绍

    C# WinForm导出Excel方法介绍

    在.NET应用中,导出Excel是很常见的需求,导出Excel报表大致有以下三种方式:Office PIA,文件流和NPOI开源库,本文只介绍前两种方式
    2013-12-12
  • C#使用融合通信API发送手机短信功能

    C#使用融合通信API发送手机短信功能

    融合云通信服务平台,为企业提供全方位通信服务,发送手机短信是其一项核心功能,本文介绍了如何使用融合云通信服务平台的API通过C#实现发送手机短信的功能,感兴趣的朋友跟随小编一起看看吧
    2024-11-11
  • DataGridView设置单元格的提示内容ToolTip

    DataGridView设置单元格的提示内容ToolTip

    这篇文章介绍了DataGridView设置单元格提示内容ToolTip的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-02-02
  • C#面向对象特征的具体实现及作用详解

    C#面向对象特征的具体实现及作用详解

    所有的面相对象思想,归根结底是为了简化代码,减少代码量,构建更符合现实生活逻辑的程序代码,从而减轻程序员的负担。不能一味地或者说刻意地去使用面相对象的思想而忽略了程序所实现的功能或者框架,要根据实际情况
    2013-10-10
  • Unity UGUI的GraphicRaycaster射线投射组件介绍使用

    Unity UGUI的GraphicRaycaster射线投射组件介绍使用

    这篇文章主要为大家介绍了Unity UGUI的GraphicRaycaster射线投射组件介绍使用,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • C#中int[][]与int[,]的使用与区别

    C#中int[][]与int[,]的使用与区别

    本文主要介绍了C#中int[][]与int[,]的使用与区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07

最新评论