使用 C# 编辑 DataGridview 并将其保存在数据库表中

2024-02-25

我使用 MYSQL Server 作为我的项目后端。我有一个 DataGridView,它填充了数据库中的数据。当我在 DataGridView 单元格中进行更改并单击保存按钮时,数据需要在 DataGridView 和数据库表中更改。

这是我的编码:

using MySql.Data.MySqlClient;

using System;

using System.Data;

using System.IO;

using System.Windows.Forms;


namespace datagridview

{

public partial class Form1 : Form

{

DataTable datatab;

 MySqlDataAdapter mydtadp;

    MySqlCommandBuilder cmbl;

String MyConnection = "SERVER=*****;" +

            "DATABASE=****;" +

            "UID=root;" +

            "PASSWORD=pws";

public Form1()

    {

        InitializeComponent();

    }

 private void Form1_Load(object sender, EventArgs e)

    {

 MySqlConnection MyConn = new MySqlConnection(MyConnection);

        MyConn.Open();

        MySqlCommand comand = new MySqlCommand("select * from aster_scripts;", MyConn);

        datatab = new DataTable();

        mydtadp = new MySqlDataAdapter(comand);

        mydtadp.Fill(datatab);

        dataGridView1.DataSource = datatab;

        MyConn.Close();

    }

 private void BtnSave_Click(object sender, EventArgs e)

    {

        DataSet ds = new DataSet();

        cmbl = new MySqlCommandBuilder(mydtadp);

        mydtadp.Update(datatab);

        MessageBox.Show("SAVED");

}

}

}

我在 mydtadp.Update(datatab); 行中遇到了这样的错误(附加信息:对于不返回任何关键列信息的 SelectCommand,不支持 UpdateCommand 的动态 SQL 生成。) 如何才能做到这一点?


请注意模块级变量。并参考这篇MSDN文章Here http://tinyurl.com/goxnjro如果需要的话。

schema

create table aster_scripts
(   id int auto_increment primary key,
    i int not null,
    sThing varchar(30) not null
);

insert aster_scripts (i,sThing) values (8,'frog'),(11,'cat');

c#

using System;
using System.Data;
using System.Windows.Forms;
using MySql.Data.MySqlClient;
using System.IO;

namespace WindowsFormsApplication1
{
    public partial class Form2 : Form
    {
        private MySqlDataAdapter mydtadp = new MySqlDataAdapter();
        private BindingSource bindingSource1 = new BindingSource();

        MySqlCommandBuilder cmbl;
        String MyConnection = "SERVER=hostname;" +
                    "DATABASE=dbname;" +
                    "UID=dbuser;" +
                    "PASSWORD=fffff";

        public Form2()
        {
            InitializeComponent();
        }

        private void Form2_Load(object sender, EventArgs e)
        {
            MySqlConnection MyConn = new MySqlConnection(MyConnection);
            MyConn.Open();

            mydtadp.SelectCommand=new MySqlCommand("select * from aster_scripts", MyConn);
            cmbl = new MySqlCommandBuilder(mydtadp);

            DataTable table = new DataTable();
            mydtadp.Fill(table);

            bindingSource1.DataSource = table;
            dataGridView1.DataSource = bindingSource1;
        }

        private void BtnSave_Click(object sender, EventArgs e)
        {
            mydtadp.Update((DataTable)bindingSource1.DataSource);

            MessageBox.Show("SAVED");
        }
    }
}

更改数据点击保存屏幕截图

数据库条目

mysql> select * from aster_scripts;

+----+----------+--------+
| id | i        | sThing |
+----+----------+--------+
|  1 |        8 | frog   |
|  2 | 11333322 | cat    |
+----+----------+--------+
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 C# 编辑 DataGridview 并将其保存在数据库表中 的相关文章

  • 使用预编译头减少 clang 编译时间

    我正在开发一个数据库项目 该项目将查询 以某种高级语言表示 编译为 C 代码 这段代码由数据库编译并执行 那部分工作得很好 现在 我正在尝试减少 C 查询代码的编译时间 我想知道是否可以使用预编译头来提高性能 该查询被转换为一个名为 Que
  • 代码块 power 函数在 c 中不起作用

    我正在使用代码块来学习c 我的代码是 include
  • 无缝滚动瓷砖地图

    我正在开发一个自上而下的角色扮演游戏 并且想要实现无缝滚动地图 也就是说 当玩家探索世界时 地图之间没有加载屏幕 也没有通往下一个区域的 门 我有两种方法可以打破世界 在顶层 我有 区域 它只是 9 个 地图 的集合 这些区域仅由目录表示
  • 有没有办法将 boost::json::serializer 切换为美化输出?

    Using boost json serializer如中的示例所示文档 快速查看 http vinniefalco github io doc json json usage quick look html以紧凑格式保存 json tre
  • 读取STM32 MCU SPI数据寄存器的值

    有很多类似的问题 但似乎没有一个问题完全相同 我正在将 STML4 MCU 连接到 6 轴传感器 LSM6DS3 我已经成功地在 I2C 中实现了所有内容 但想要 SPI 的额外速度 和 DMA 如果我能让这些第一步工作起来的话 因此 第一
  • 是否有一种算法可以在线性时间内计算数组反转?

    我知道有多少倒转 en wikipedia org wiki Inversion 28discrete mathematics 29 in an n 元素数组可以在 O n log n 操作使用增强型归并排序 http www geeksf
  • C for 循环索引:新 CPU 中的前向索引更快吗?

    在我订阅的邮件列表上 两位知识渊博的 IMO 程序员正在讨论一些优化的代码 并说了以下内容 在 5 8 年前发布的 CPU 上 向后迭代 for 循环稍微快一些 e g for int i x 1 i gt 0 i 因为比较i归零比将其与其
  • 函数参数评估顺序[重复]

    这个问题在这里已经有答案了 在 C 和 C 中 函数参数的求值是否有固定的顺序 我的意思是 标准怎么说 是吗left to right or right to left 我从书中得到的信息令人困惑 是否有必要function call应该使
  • C++ 错误:从“char”到“const char*”的转换无效

    我对 C 完全陌生 我创建了这个函数 bool guessWord string compWord cout lt lt Guess a letter string userLetter cin gt gt userLetter for u
  • 带双重检查锁的单例设计模式

    假设您有以下代码 1 为什么我们使用双重检查锁 为什么单锁不够好 请提供详细的例子 2 这种实施方式的主要缺点是什么 我该如何证明呢 Thanks public sealed class SomeSingleton5 private sta
  • printf() 使用字符串表“解码器环”调试库

    我写这封信是想看看你们中是否有人见过或听说过我即将描述的想法的实现 我有兴趣为嵌入式目标开发 printf 风格的调试库 目标非常遥远 并且我和目标之间的通信带宽预算非常紧张 因此我希望能够以非常有效的格式获取调试消息 通常 调试语句如下所
  • SQL参数化查询不显示结果

    我的 DataAcess 类中有以下函数 但它没有显示任何结果 我的代码如下 public List
  • 该组件没有由 uri 标识的资源

    我想创建一个通用数据网格以在我的所有视图 用户控件上使用 这是我的结构 Class Library called Core Class called ViewBase public class ViewBase UserControl pu
  • 查询中列的顺序重要吗?

    当从 MySQL 表中选择列时 与表中的顺序相比 选择列的顺序是否会影响性能 不考虑可能覆盖列的索引 例如 您有一个包含行 uid name bday 的表 并且有以下查询 SELECT uid name bday FROM table M
  • MYSQL - 查找最近的前一天

    我可以以某种方式 不使用 PHP 找到一周中最近的前一天日期吗 Like 最近的上一个星期二的日期是哪一天 CURDATE INTERVAL WEEKDAY CURDATE wday IF WEEKDAY CURDATE gt wday 0
  • java mysql 准备好的语句

    我正在尝试使用 java 向数据库中进行简单的插入 它告诉我我的 sql 语法已关闭 但是 当我复制打印出来的字符串并将其放入 phpmyadmin 中的 sql 命令中时 它会正确执行该命令 并且我似乎无法弄清楚 java 中的字符串查询
  • 为什么我不能对普通变量进行多态?

    我是一名Java程序员 最近开始学习C 我对某事感到困惑 据我了解 在 C 中 要实现多态行为 您必须使用指针或引用 例如 考虑一个类Shape与实施的方法getArea 它有几个子类 每个子类都以不同的方式重写 getArea 然后考虑以
  • 如何使用 xamarin 表单提示用户进行地理定位

    我正在 Xamarin Forms 应用程序中开发一个应用程序 需要请求地理位置权限 如果获得许可 它需要从设备获取地理位置数据 然后将地理位置坐标放入 Forecast io URL 我正在使用 James 的 Geolocator 插件
  • 如何在给定点停止线程?

    我试图停止一些线程 阅读一些有关优雅地执行此操作的正确方法的内容 但我一定做错了什么 因为它根本不起作用 起初我尝试不使用lock with IsRunning不稳定 然后尝试使用锁 这是我所拥有的 private volatile boo
  • C# amo 获取角色完整

    我正在开发一个 SSAS 项目 其中除其他事项外 我需要获取 C 中表格多维数据集的完整用户列表 目前我让它以这样的方式工作 我可以获得角色 但数据不完整 当我调用 Server Database Roles 为了便于阅读而简化 属性并枚举

随机推荐

  • 用于创建新元素的突变观察者

    我试图在创建特定 div 时使函数关闭 用最简单的话来说 我有这样的事情 a href Click me a 之前 我让突变事件监听 div bar 的创建 像这样 bar live DOMNodeInserted function eve
  • 程序集绑定重定向和代码分析

    我在 Visual Studio 2010 的 Mvc 3 0 0 0 项目中使用 DotNetOpenAuth 引用 System Web Mvc 版本 1 0 0 0 我正在使用程序集绑定重定向 如下所示
  • 使用 Flex 生成的文件时出现问题

    我正在尝试设置一个使用 flex 的项目 fast lex 而不是 adobe 我在 Ubuntu 上运行 并通过 apt get 方法安装了 flex 我用谷歌搜索了编译错误 我要么找到了围绕它创建自己的补丁的人 要么找到了很多论坛 人们
  • 如何简单地显示 YQL 的 xml 输出或将 JSON 输出为 html

    因此 我一直在研究一种从页面中抓取数据并显示它的方法 以与源格式大致相同的格式 我发现了 YQL 我发现它很棒 除了我不知道如何显示整个输出 没有什么特别的 除了基本格式 YQL输入代码为 select from html where ur
  • Python:无法分配给文字

    我的任务是编写一个程序 要求用户输入 5 个名称并将其存储在列表中 接下来 它随机选择这些名字之一 并宣布该人为获胜者 唯一的问题是 当我尝试运行它时 它说can t assign to literal 这是我的代码 import rand
  • 是否可以找到当前正在使用的 tmux 套接字?

    我正在尝试获取当前正在使用的 tmux 套接字列表 但到目前为止我想出的最佳解决方案是签入 tmp tmux 或 TMPDIR 据我所知 即使当前没有 tmux 会话正在使用这些套接字 tmux 也会将这些套接字保留一段时间 因此 我希望有
  • Django 表单未使用 ModelChoiceField 保存 -foreignkey

    我的网站上有多个表单 可以将信息保存到我的 PostgreSQL 数据库中 我正在尝试创建一个表单来保存我的设置模型的信息 class Set models Model settitle models CharField Title max
  • 没有在 DLL 项目中创建 WPF 窗口?

    Visual Studio 不允许我在 DLL 项目中创建 WPF 窗口是否有原因 我通过在应用程序项目中创建一个窗口并将其复制到我的 DLL 项目来 解决 这个问题 我还发现我可以创建一个 UserControl 并将基类更改为 Wind
  • 连接 Java 和 Python Flask

    我有一个简单的 Flask API from flask import Flask jsonify app Flask name app route def hello world return Hello World app route
  • 如何通过批处理文件执行cmd命令?

    我想编写一个批处理文件 它将按给定顺序执行以下操作 Open cmd 运行cmd命令cd c Program files IIS Express 运行cmd命令iisexpress path C FormsAdmin Site port 8
  • 在 Android 上隐藏 Toast

    我正在开发一个应用程序 它使用系统活动将联系人添加到手机内存中 此外部活动在保存联系人后启动 Toast 有没有可能摆脱它 如果我可以获得对它的引用来调用 cancel 或取消所有排队的 Toast 那就完美了 有Toast管理器吗 如果您
  • 将字体大小调整为绘图设备的大小

    我经常遇到必须调整输出图像大小的情况 不幸的是 这意味着通常我必须调整字体大小 以使内容可读 例如 如果下面的图 library ggplot2 library tibble library stringi set seed 1 df lt
  • django - 限制用户数量

    对不起我的英语不好 只有一个问题 是否有任何方法可以限制 Django 应用程序中可以创建的用户数量 我搜索了很多地方 只找到了这个 但我在仓库中看到最后一次更新是 3 年前https github com 1stvamp django l
  • 在 ASP.NET MVC 5 应用程序中启用 SSL 会导致 OpenIdConnectProtocolValidator 问题

    我有一个针对 Azure Active Directory 进行身份验证的 ASP NET MVC 5 应用程序 我想在整个应用程序上启用 SSL 因此利用全局过滤器如下 public class FilterConfig
  • 外键未存储在 Yii 中

    我有一个这样的数据库 Group id name Member id group id firstname lastname membersince Now as group id is foreign key then when I wi
  • 如何对 REST 视图类使用 @condition 装饰器

    我正在尝试使用 ETAG HTTP 标头发送 304 NOT MODIFIED 响应 使用以下代码 class MyView GenericAPIView serializer class MySerializer condition et
  • grails 将 svn 修订版添加到 app.version

    我正在尝试将 svn 修订版添加到我的app version不需要 ant 或其他类似的外部工具 看来我可以加入 Events groovy对此 但文档相对较少 有人知道怎么做吗 This http grails 1312388 n4 na
  • JApplet NoClassDefFoundError

    我正在 Eclipse 上编写 Japplet 它时不时地停止在 html 页面上工作 以下是错误 Exception in thread thread applet main MapGenerator class 1 java lang
  • 有没有一种简单的方法可以从 .NET 用户控件中删除“ct100”前缀?

    长话短说 几十个页面没有使用母版页 对于新模块 我创建了一个带有菜单控件的母版页 菜单控件已经存在 这样我就可以在我现在创建的大约六个页面上获得相同的外观 由于内容页使用母版页 因此菜单控件的名称更改为ct100 Menu1而不仅仅是Men
  • 使用 C# 编辑 DataGridview 并将其保存在数据库表中

    我使用 MYSQL Server 作为我的项目后端 我有一个 DataGridView 它填充了数据库中的数据 当我在 DataGridView 单元格中进行更改并单击保存按钮时 数据需要在 DataGridView 和数据库表中更改 这是