0

0

WinForms怎么连接数据库 WinForms实现数据展示方法

幻夢星雲

幻夢星雲

发布时间:2025-12-14 17:08:03

|

735人浏览过

|

来源于php中文网

原创

WinForms连接数据库展示数据的核心是ADO.NET三步法:配置连接字符串、用SqlDataAdapter填充DataTable、绑定到控件;推荐使用BindingSource提升灵活性,查询单条数据宜用SqlCommand配合参数化防止注入。

winforms怎么连接数据库 winforms实现数据展示方法

WinForms 连接数据库并展示数据,核心是用 A DO.NET(如 SqlConnectionSqlDataAdapterDataTable)获取数据,再绑定到控件(如 DataGridViewListBox)。不依赖第三方 ORM 也能快速实现,关键是把连接、查询、绑定三步理清楚。

配置数据库连接字符串

连接字符串告诉程序怎么找到数据库。SQL Server 常见写法如下(以本地 SQL Server Express 为例):

Server=.;Database=MyAppDB;Trusted_Connection=True;
或带账号密码:
Server=192.168.1.100;Database=MyAppDB;User Id=sa;Password=123456;

建议放在 app.config 节里,方便修改和复用:


  

代码中用 ConfigurationManager.ConnectionStrings["MainConn"].ConnectionString 读取。

用 SqlDataAdapter 填充 DataTable 并绑定 DataGridView

这是最常用、最轻量的数据展示方式,适合增删改查基础操作。

  • 新建一个 SqlConnection,传入连接字符串
  • 创建 SqlDataAdapter,传入 SQL 查询语句和连接对象
  • Fill() 方法把结果装进 DataTable
  • DataTable 直接赋给 DataGridView.DataSource

示例代码(放在窗体的 Load 事件里):

private void Form1_Load(object sender, EventArgs e)
{
    string connStr = ConfigurationManager.ConnectionStrings["MainConn"].ConnectionString;
    string sql = "SELECT Id, Name, Age FROM Users";

    using (SqlConnection conn = new SqlConnection(connStr))
    {
        SqlDataAdapter adapter = new SqlDataAdapter(sql, conn);
        DataTable dt = new DataTable();
        adapter.Fill(dt);
        dataGridView1.DataSource = dt;
    }
}

注意:不用手动调用 conn.Open()SqlDataAdapter.Fill() 会自动处理打开/关闭连接。

android rtsp流媒体播放介绍 中文WORD版
android rtsp流媒体播放介绍 中文WORD版

本文档主要讲述的是android rtsp流媒体播放介绍;实时流协议(RTSP)是应用级协议,控制实时数据的发送。RTSP提供了一个可扩展框架,使实时数据,如音频与视频,的受控、点播成为可能。数据源包括现场数据与存储在剪辑中数据。该协议目的在于控制多个数据发送连接,为选择发送通道,如UDP、组播UDP与TCP,提供途径,并为选择基于RTP上发送机制提供方法。希望本文档会给有需要的朋友带来帮助;感兴趣的朋友可以过来看看

下载

用 BindingSource 实现更灵活的数据管理

如果后续要支持排序、筛选、新增行、同步编辑,推荐包一层 BindingSource

  • 它像一个“数据中介”,解耦 UI 和数据源
  • 支持 AllowNew = true 后,DataGridView 可直接添加新行
  • 调用 EndEdit()ResetBindings() 可刷新状态

绑定方式只需多一步:

bindingSource1.DataSource = dt;
dataGridView1.DataSource = bindingSource1;

之后新增、删除、修改都通过 bindingSource1 操作,最后用 SqlDataAdapter.Update() 回写数据库(需提前设置 InsertCommand 等)。

简单查询+单条数据显示(如用 TextBox、Label)

如果只是查一条记录显示在文本框里,用 SqlCommand.ExecuteScalar()ExecuteReader() 更高效:

string sql = "SELECT Name FROM Users WHERE Id = @id";
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
    cmd.Parameters.AddWithValue("@id", 123);
    conn.Open();
    object result = cmd.ExecuteScalar(); // 返回第一行第一列
    if (result != null) textBox1.Text = result.ToString();
}

注意参数化查询防 SQL 注入,别拼接字符串。

基本上就这些。WinForms 数据展示不复杂但容易忽略连接释放、异常处理和 UI 线程安全(大数据量时别在 UI 线程里长时间查库)。先跑通上面任一方式,再按需加事务、分页或异步加载

相关专题

更多
数据分析工具有哪些
数据分析工具有哪些

数据分析工具有Excel、SQL、Python、R、Tableau、Power BI、SAS、SPSS和MATLAB等。详细介绍:1、Excel,具有强大的计算和数据处理功能;2、SQL,可以进行数据查询、过滤、排序、聚合等操作;3、Python,拥有丰富的数据分析库;4、R,拥有丰富的统计分析库和图形库;5、Tableau,提供了直观易用的用户界面等等。

679

2023.10.12

SQL中distinct的用法
SQL中distinct的用法

SQL中distinct的语法是“SELECT DISTINCT column1, column2,...,FROM table_name;”。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

320

2023.10.27

SQL中months_between使用方法
SQL中months_between使用方法

在SQL中,MONTHS_BETWEEN 是一个常见的函数,用于计算两个日期之间的月份差。想了解更多SQL的相关内容,可以阅读本专题下面的文章。

346

2024.02.23

SQL出现5120错误解决方法
SQL出现5120错误解决方法

SQL Server错误5120是由于没有足够的权限来访问或操作指定的数据库或文件引起的。想了解更多sql错误的相关内容,可以阅读本专题下面的文章。

1095

2024.03.06

sql procedure语法错误解决方法
sql procedure语法错误解决方法

sql procedure语法错误解决办法:1、仔细检查错误消息;2、检查语法规则;3、检查括号和引号;4、检查变量和参数;5、检查关键字和函数;6、逐步调试;7、参考文档和示例。想了解更多语法错误的相关内容,可以阅读本专题下面的文章。

357

2024.03.06

oracle数据库运行sql方法
oracle数据库运行sql方法

运行sql步骤包括:打开sql plus工具并连接到数据库。在提示符下输入sql语句。按enter键运行该语句。查看结果,错误消息或退出sql plus。想了解更多oracle数据库的相关内容,可以阅读本专题下面的文章。

676

2024.04.07

sql中where的含义
sql中where的含义

sql中where子句用于从表中过滤数据,它基于指定条件选择特定的行。想了解更多where的相关内容,可以阅读本专题下面的文章。

574

2024.04.29

sql中删除表的语句是什么
sql中删除表的语句是什么

sql中用于删除表的语句是drop table。语法为drop table table_name;该语句将永久删除指定表的表和数据。想了解更多sql的相关内容,可以阅读本专题下面的文章。

415

2024.04.29

高德地图升级方法汇总
高德地图升级方法汇总

本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

43

2026.01.16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
CSS3 教程
CSS3 教程

共18课时 | 4.6万人学习

PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7.3万人学习

Django 教程
Django 教程

共28课时 | 3.2万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号