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
    点赞
  • 178
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 18
    评论
C#中,可以通过`DataGridView.DataSource`属性将DataGridView控件与数据源绑定,实现列和数据库中的数据绑定。 以下是示例代码: ```csharp // 假设已经创建了DataGridView控件实例 dgv,并连接了名为 MyDatabase 的数据库 // 从数据库中查询数据 string sql = "SELECT * FROM MyTable"; SqlDataAdapter adapter = new SqlDataAdapter(sql, "Data Source=.;Initial Catalog=MyDatabase;Integrated Security=True"); DataTable table = new DataTable(); adapter.Fill(table); // 将DataTable对象与DataGridView控件绑定 dgv.DataSource = table; ``` 在上述代码中,首先通过`SqlDataAdapter`类从数据库中查询数据,并将查询结果填充到一个`DataTable`对象中。然后,将该`DataTable`对象与`DataGridView`控件实例的`DataSource`属性绑定,这样就可以将控件的列和数据库中的数据进行绑定。 需要注意的是,为了确保能够正确地显示数据库中的数据,需要为`DataGridView`控件中的每一列设置`DataPropertyName`属性,该属性对应数据库中的列名。例如: ```csharp // 设置DataGridView控件中的列和数据库中的列绑定 dgv.Columns["column1"].DataPropertyName = "Column1NameInDatabase"; dgv.Columns["column2"].DataPropertyName = "Column2NameInDatabase"; // ... ``` 其中,`"column1"`和`"column2"`是DataGridView控件中的列名,`"Column1NameInDatabase"`和`"Column2NameInDatabase"`是数据库中的列名,需要根据实际情况进行设置。
评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

IC00

打赏就发新文

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

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

打赏作者

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

抵扣说明:

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

余额充值