如何使用从 datagridview 检索到的 ID 将数据保存到数据库?

Posted

技术标签:

【中文标题】如何使用从 datagridview 检索到的 ID 将数据保存到数据库?【英文标题】:How to save data to database using retrieved ID from datagridview? 【发布时间】:2019-05-10 00:16:16 【问题描述】:

我想使用从 datagridview 检索到的 ID 向 mysql 数据库中插入一些数据。我是编程新手。有人可以帮帮我吗?谢谢

【问题讨论】:

【参考方案1】:

首先你需要下载并安装

MySQL ADO.Net connector

它是用于 C# 应用程序的官方 ado.net 连接器。安装后,您可以使用 ado.net 标准数据访问方法来保存数据。

基本步骤

首先创建一个到my sql 数据库的连接。 然后创建一个包含插入命令的命令对象。 然后提供包含所谓 ID 的对象并最终确定命令对象 然后对数据库执行命令。

示例代码

这是后面会用到的类变量

private MySqlConnection connection; // this MySqlConnection class comes with the connector
private string server;
private string database;
private string uid;
private string password;

这将Initialize方法将配置与配置数据的连接

private void Initialize()

    server = "localhost";
    database = "connectcsharptomysql";
    uid = "username";
    password = "password";
    string connectionString;
    connectionString = "SERVER=" + server + ";" + "DATABASE=" + 
    database + ";" + "UID=" + uid + ";" + "PASSWORD=" + password + ";";

    connection = new MySqlConnection(connectionString);

此方法将打开与数据库的连接。您也应该编写一个 C Lose 方法。因为最好在使用后始终关闭连接

private bool OpenConnection()

    try
    
        connection.Open();
        return true;
    
    catch (MySqlException ex)
    
        //When handling errors, you can your application's response based 
        //on the error number.
        //The two most common error numbers when connecting are as follows:
        //0: Cannot connect to server.
        //1045: Invalid user name and/or password.
        switch (ex.Number)
        
            case 0:
                MessageBox.Show("Cannot connect to server.  Contact administrator");
                break;

            case 1045:
                MessageBox.Show("Invalid username/password, please try again");
                break;
        
        return false;
    

这将向数据库中插入一条记录。查询将包含针对数据库运行的 T-SQL 查询

public void Insert()

    string query = "INSERT INTO tableinfo (name, age) VALUES('John Smith', '33')";

    //open connection
    if (this.OpenConnection() == true)
    
        //create command and assign the query and connection from the constructor
        MySqlCommand cmd = new MySqlCommand(query, connection);

        //Execute command
        cmd.ExecuteNonQuery();

        //close connection
        this.CloseConnection();
    

希望这会有所帮助

【讨论】:

以上是关于如何使用从 datagridview 检索到的 ID 将数据保存到数据库?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Swift 在 iOS 中显示从 HealthKit 中检索到的 HKDocumentSample?

如何使用单个查询联合从另一个表中检索到的表列表?

只允许在 DataGridView 中选中一个复选框

如何使用从服务中检索到的纬度和经度并在地图上显示它们?

如何从没有绑定源 C# 生成的 datagridview 中检索数据源?

如何从flutter中从异步任务中检索到的数据中将图像加载到卡片中?