C# 窗体应用DataGridView,使用数据库(Sql和MySQl)对DataGridView绑定数据源,获取数据

前言

前面我们用了,类库对象进行数据绑定,不懂的童鞋可以去找博主上一篇文章,今天给大家演示使用数据库对datadridview进行数据绑定,其实也很简单啦,让我们卷起来。

每日一遍,防止颓废

123456789.jpg

1.1让我们进入正题吧

  1. 确保已经安装并配置了数据库服务器,例如 MySQL 或 SQL Server。
  2. 在 Visual Studio 中创建一个新的 Windows 窗体应用程序。
  3. 在窗体上添加一个 DataGridView 控件。可以在窗体设计器中拖放一个 DataGridView 控件,或者在代码中手动创建一个。
  4. 创建数据库连接。根据使用的数据库类型,使用相应的连接对象(例如 MySqlConnection 或
    SqlConnection)创建一个数据库连接,并设置连接字符串,包括服务器名称、数据库名称、用户名和密码等信息。
  5. 创建查询语句。使用 SQL 语句编写查询语句,例如 SELECT * FROM 表名。
  6. 创建数据适配器。使用相应的数据适配器对象(例如 MySqlDataAdapter 或
    SqlDataAdapter)创建一个数据适配器,并将其与数据库连接和查询语句关联起来。
  7. 创建 DataSet 对象。使用 DataSet 对象来存储从数据库中检索到的数据。创建一个 DataSet 对象,并使用数据适配器的
    Fill 方法将数据填充到 DataSet 中。
  8. 绑定数据到 DataGridView。将 DataGridView 的 DataSource 属性设置为 DataSet
    中的数据表,例如 dataGridView1.DataSource = dataSet.Tables[0]。
运行应用程序。现在您可以运行应用程序,应该能够看到 DataGridView 中显示了从数据库中检索到的数据。

Tu123.gif

1.1.2(简单方法一)使用无代码的方式,来使用数据库绑定

当使用 SQL Server 数据库对 DataGridView 进行数据绑定时,您需要确保已经安装了 SQL Server 数据库,并且已经创建了一个包含数据的表。然后,您可以在 Visual Studio 中创建一个新的 Windows 窗体应用程序,并在窗体上添加 DataGridView 控件。接着,您可以添加一个 DataSet 组件,并将其命名为 DataSet1。然后,您可以右键单击 DataSet1 组件,选择“添加”->“新建查询”,并使用 SQL 语句查询数据库中的数据。接着,将查询结果绑定到 DataSet1 组件中,并将 DataGridView 控件的 DataSource 属性设置为 DataSet1 组件的数据表即可。这是使用 DataSet 组件有机会再更新,下面是简单的形式:

image.png

1.1.3新建连接,建立自己的数据库链接

image.png

image.png

1.1.4选择你刚刚建立的链接,如果是用密码的要选择是,不然会链接失败,登录不成功

image.png

1.1.5选择你需要的表和Id,如果需要整个数据库就全选。

image.png

1.1.6效果展示,如果你需要添加新的查询,点击下面的数据源添加就可以了。

image.png

image.png

2.1使用代码的方式对DataGridView进行数据绑定(包含使用MySQL)

当使用 MySQL 数据库对 DataGridView 进行数据绑定时,您需要确保已经安装了 MySQL 数据库,并且已经创建了一个包含数据的表。然后,您可以在 Visual Studio 中创建一个新的 Windows 窗体应用程序,并在窗体上添加 DataGridView 控件。接着,您可以添加一个 DataSet 组件,并将其命名为 DataSet1。然后,您可以右键单击 DataSet1 组件,选择“添加”->“新建数据源”,并选择“数据库”->“数据集”。接着,选择 MySQL 数据库连接,并指定要绑定的表。最后,将 DataGridView 控件的 DataSource 属性设置为 DataSet1 组件的数据表即可。这是使用DataSet的方式,下面是简单的方式:

2.1.1 使用代码有着较多的方式,小编尽力把小编知道的方法写出来,双击button1,生成方法

image.png

2.1.2 连接数据库,获取数据,对datagridview进行数据绑定

image.png

image.png

private void button1_Click(object sender, EventArgs e)
{
string connString = “server=.;database= StudentDB; User ID = sa; Pwd=123456”;
SqlConnection conn = new SqlConnection(connString);
SqlCommand comm = new SqlCommand();
comm.Connection = conn;
string sql = String.Format(“select course_id ‘编号’,course_name ‘课程名’,teacher_name ‘教师姓名’ from T_course”);
try
{

            conn.Open();
            SqlDataAdapter da = new SqlDataAdapter(sql, connString);
            DataSet ds = new DataSet();
            da.Fill(ds);
            dataGridView1.DataSource = ds.Tables[0];
            conn.Close();
          }
        catch (Exception ex)
            {
                   MessageBox.Show(ex.Message, "操作数据库出错!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);

            }            
        }

2.1.3 效果展示,博主使用的是SqL Server 数据库。

image.png

2.1.4 代码其实还有其他的方法,博主展示一下

image.png

  string connString = "server=.;database= StudentDB; User ID = sa; Pwd=123456";
            SqlConnection conn = new SqlConnection(connString);
            SqlCommand comm = new SqlCommand();
            comm.Connection = conn;
           // string sql = String.Format("select course_id '编号',course_name '课程名',teacher_name '教师姓名' from T_course");
            try
             {
               
                conn.Open();
                string sql = "select course_id ,course_name,teacher_name from T_course";
                SqlDataAdapter da = new SqlDataAdapter(sql, connString);
                DataSet ds = new DataSet();
                da.Fill(ds,"studens");da. Fill (ds, "students");//参数1 : DataSet对象;参数2:名,自定义的名字,不需要和查询的表名必须-致
                //方法一使用时注解其他方法
                dataGridView1.DataSource = ds;
                dataGridView1.DataMember ="studens";
                //方法二
                dataGridView1.DataSource = ds.Tables["studens"];
                //方法三
                DataTable dt = ds.Tables["studens"];
                dataGridView1.DataSource = dt.DefaultView;
                conn.Close();
              }
            catch (Exception ex)
                {
                       MessageBox.Show(ex.Message, "操作数据库出错!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);

                }            

2.1.5 使用MySQL也是可以对datagridview进行数据绑定的,对数据库连接方式改变,并且把那几个类型前面为My,其他都是一样的,提示要把命名空间导进去,ALt+ENter快捷导入,如果没有,导入哪里会叫你下载,你下载就好了。

image.png


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;
using MySql.Data.MySqlClient;

namespace student
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
          

        }

        private void button1_Click(object sender, EventArgs e)
        {
            string connString = "server=localhost; database=student; uid=root; pwd=88888888;Character Set=utf8;";
            MySqlConnection conn = new MySqlConnection(connString);
            MySqlCommand comm = new MySqlCommand();
            comm.Connection = conn;
           // string sql = String.Format("select course_id '编号',course_name '课程名',teacher_name '教师姓名' from T_course");
            try
             {
               
                conn.Open();
                string sql = "select course_id ,course_name,teacher_naem from T_course";
                MySqlDataAdapter da = new MySqlDataAdapter(sql, connString);
                DataSet ds = new DataSet();
                da.Fill(ds,"studens");
                //方法一
                dataGridView1.DataSource = ds;
                dataGridView1.DataMember ="studens";
                //方法二
               /* dataGridView1.DataSource = ds.Tables["studens"];
                //方法三
                DataTable dt = ds.Tables["studens"];
                dataGridView1.DataSource = dt.DefaultView;*/
                conn.Close();
              }
            catch (Exception ex)
                {
                       MessageBox.Show(ex.Message, "操作数据库出错!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);

                }            
            }
    }
}

总结

DataGridView 这个控件博主基本写完了,在写文章中,学到很多东西,对自己的知识进行巩固,并且学习到了新的东西,datagirdview还有一个数据源是“服务”,博主没有学习过这方面的知识,只知道如果你要用到类似阿里云上面的数据库,你可以用第三方数据库软件连接再嵌入,哈哈哈哈,当然这个方法可能有点傻但是博主只知道这些,或者你去学习WEf服务。创作不易希望大家,点赞,评论,关注。谢谢啦!!!

tu2.jpg

  • 35
    点赞
  • 175
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 18
    评论
### 回答1: Winform DataGridView美化指的是通过修改DataGridView的外观和样式,使其更加美观和易于使用。可以通过以下方法实现: 1. 修改DataGridView的背景颜色、字体、边框等属性,使其与应用程序的整体风格相符。 2. 使用自定义单元格样式,例如添加图标、背景图片、渐变色等,使DataGridView更加生动和有趣。 3. 使用自定义列头样式,例如添加图标、背景图片、渐变色等,使DataGridView的列头更加醒目和易于识别。 4. 使用自定义滚动条样式,例如添加背景图片、滑块图片等,使DataGridView的滚动条更加美观和易于使用。 5. 使用第三方控件或库,例如DevExpress、Telerik等,提供了丰富的DataGridView美化功能,可以快速实现高质量的DataGridView界面效果。 总之,Winform DataGridView美化可以通过多种方式实现,可以根据具体需求选择最适合的方法。 ### 回答2: WinForm中的DataGridView是一个常用的控件,用于显示和编辑表格数据。但是,其默认的样式有点简陋,不太适合精美的应用场景。因此,美化DataGridView是提升应用界面质量的必要步骤之一。 下面我将介绍一些常用的方法,帮助您美化DataGridView控件。 1.更换单元格样式 第一步是更换单元格的样式。可以通过修改默认单元格的背景颜色和字体样式来调整DataGridView的外观。 ```csharp dataGridView1.DefaultCellStyle.BackColor = Color.White; dataGridView1.DefaultCellStyle.Font = new Font("Tahoma", 8); ``` 这里,我将单元格的背景颜色设置成了白色,字体样式设置成了Tahoma,字号为8。 2.添加行间隔色 通过设置AlternatingRowsDefaultCellStyle实现添加行间隔色。 ```csharp dataGridView1.AlternatingRowsDefaultCellStyle.BackColor = Color.LightGray; ``` 这里我将奇数行的背景颜色设置为淡灰色。 3.设置表格线颜色和样式 可以通过设置BorderStyle属性来更改单元格边框样式。此外,可以通过设置ColumnHeadersDefaultCellStyle修改表头的样式,并通过设置GridColor调整表格的线条颜色。 ```csharp dataGridView1.BorderStyle = BorderStyle.None; dataGridView1.ColumnHeadersDefaultCellStyle.BackColor = Color.Black; dataGridView1.ColumnHeadersDefaultCellStyle.ForeColor = Color.White; dataGridView1.ColumnHeadersBorderStyle = DataGridViewHeaderBorderStyle.None; dataGridView1.GridColor = Color.Black; ``` 以上代码将DataGridView的边框线条隐藏,表头背景色设置为黑色,前景色设置为白色。此外,表格的线条颜色被设置为黑色。 4.自定义单元格样式 在某些情况下,您可能需要根据不同的数据状态设置单元格的外观(例如,根据数据值设置单元格背景颜色)。在这种情况下,可以使用DataGridView.CellFormatting事件来为单元格应用自定义样式。 ```csharp private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) { if (e.ColumnIndex == 0 && Convert.ToInt32(e.Value) < 0) { e.CellStyle.BackColor = Color.Red; e.CellStyle.ForeColor = Color.White; } } ``` 以上代码会在第1列中的数据小于0时将单元格的背景色设置为红色,字体颜色设置为白色。 总之,通过以上的方法,我们可以轻松地美化DataGridView控件。当然,还有更多的定制选项可以进一步调整控件外观,如按下高亮、列宽、行高等。通过不断的尝试,您可以找到最适合您应用程序的样式。 ### 回答3: WinForm中的DataGridView是一个非常常见的控件,可以用来展示数据和编辑数据。但是,其默认的样式比较单调,很难满足我们对于美观、易用性等方面的需求。本文将为大家介绍如何对WinForm中的DataGridView进行美化。 1. 更改默认样式 DataGridView控件的默认样式可能不太符合我们的需求,比如行和列之间有较宽的间距、背景色不好看等等。我们可以通过更改控件属性来实现自定义样式。 例如,我们可以设置控件的背景色、前景色、网格线颜色、行高等属性,来改变控件的默认样式。此外,我们还可以自定义列头和行头的样式,来使控件更加美观。 2. 使用第三方控件库 对于一些高度定制化的DataGridView需求,我们可以考虑使用第三方控件库,如DevExpress、Telerik等。这些控件库提供了大量的样式、自定义属性等功能,可以帮助我们快速实现需求。 例如,DevExpress中有GridView控件,Telerik中有RadGridView控件,都可以用来展示数据并实现美化效果。 3. 使用自定义绘制 DataGridView控件提供了自定义绘制的功能,通过继承DataGridView并重写方法,我们可以完全控制控件的样式。 例如,我们可以重写控件的OnPaint方法,自己绘制单元格、行、列的外观,从而实现完全的个性化定制。 总结 在WinForm开发中,对于数据展示和数据编辑功能,DataGridView控件是一个非常常见的控件。为了实现更好的用户体验和更美观的界面,我们可以对其进行美化。我们可以通过改变默认样式、使用第三方控件库或自定义绘制来实现DataGridView的美化效果。选择合适的方法,可以帮助我们轻松达到之前的美化效果,让应用变得更加专业和舒适。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

IC00

打赏就发新文

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

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

打赏作者

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

抵扣说明:

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

余额充值