c# - 插入前检查MySQL数据库中是否存在记录

标签 c# mysql winforms

<分区>

如何使用 C# 检查 MySQL 数据库中是否存在记录?

如果记录存在,表单应显示一个消息框,说明该记录已存在并且不将值保存到数据库中。否则,将新记录存入数据库。

它的 C# 语法是什么? 我使用 Visual Studio 作为我的 IDE。

private void btnSave_Click(object sender, EventArgs e)
{
    string constring = "datasource=localhost;port=3306;username=root;password=root";
    string QueryAdd = "insert into assetmanagement.assets (`AssetId`,`AssetType`,`AssetDescription`,`SerialNumber`,`Barcode`,`Quantity`,`Manufacturer`,`Model`,`Category`,`Condition`,`Location`,`Department`,`DateAcquired`,`InService`,`Supplier`,`Notes`,`AddedBy`,`DateAdded`) values ('" + this.txtAssetId.Text + "','" + this.txtAssetType.Text + "','" + this.txtAssetDesc.Text + "','" + this.txtSerial.Text + "','" + this.txtBarcode.Text + "','" + this.txtQuantity.Text + "','" + this.txtManufacturer.Text + "','" + this.txtModel.Text + "','" + this.txtCategory.Text + "','" + this.txtCondition.Text + "','" + this.txtLocation.Text + "','" + this.txtDepartment.Text + "','" + this.txtDateAcquired.Text + "','" + this.txtInService.Text + "','" + this.txtSupplier.Text + "','" + this.txtNotes.Text + "','" + this.txtAddedBy.Text + "','" + this.txtDateAdded.Text + "') ;";
    MySqlConnection connDataBase = new MySqlConnection(constring);
    MySqlCommand cmdDataBase = new MySqlCommand(QueryAdd, connDataBase);
    MySqlDataReader myReader;
    try
    {
        connDataBase.Open();
        myReader = cmdDataBase.ExecuteReader();
        MessageBox.Show("Saved");
        while (myReader.Read())
        {

        }
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
}

最佳答案

如果你想更新记录(如果它已经存在),你可以使用MySQL的INSERT ... ON DUPLICATE KEY UPDATE语法(解释here)。

如果您只想在记录已存在时IGNORE,那么您可以使用'INSERT IGNORE statement'(解释为here)。

关于c# - 插入前检查MySQL数据库中是否存在记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41531860/

相关文章:

c# - VS2012 和 VS2015 浮点/ double 转换的区别

mysql - 程序错误 1064

c# - 使用 IronPython 托管时如何将 __name__ 设置为 '__main__'?

c# - 引起 C# "Espression denotes a ' 类型参数的解决,其中需要 'variable'、 'value' 或 'type'”

Python:如何使用生成器来避免 sql 内存问题

php - CID 在 PHP/MySQL 上不显示

c# - 在C#项目中动态创建文件夹

c# - 禁用排序 ListView

.net - WebBrowser(WPF 和 WinForms 控件)和 JSON 对象 - JSON 未定义

c# - 从连接字符串获取特定值