c# - 使用 Visual C# 插入 MySql 服务器

标签 c# mysql

我已经尽力使用此代码在 MySql 服务器上插入数据:

private void button1_Click(object sender, EventArgs e)
{
    string con = "datasource=localhost;database=test;port=3307;username=root;password=root";
    MySqlConnection sq = new MySqlConnection(con);
    sq.Open();

    try
    {
        MySqlCommand com1 = new MySqlCommand("Insert into customerinfo(ID) values('" + textBox1.Text + "')", sq);
        com1.ExecuteNonQuery();
        //sq.Open();
    }
    catch (Exception ex)
    {
        MessageBox.Show("please, enter an ID with at most 3 characters !");
    }

    try
    {
        MySqlCommand com2 = new MySqlCommand("Insert into customerinfo(OwnerName) values('" + textBox6.Text + "')", sq);
        com2.ExecuteNonQuery();
        //sq.Open();
    }
    catch (Exception ex)
    {
        MessageBox.Show("please, enter a name with at most 30 characters !");
    }
}

第一次尝试括号执行得很好,但第二次尝试时,它抛出异常!请帮助我知道为什么会发生这种情况?

最佳答案

90% 确定您的“ID”字段是必需的,因此您不能只发送 id...顺便说一句,您似乎正在插入 2 行,而不是包含两个值的单行...您可能是尝试做:

 MySqlCommand com1 = new MySqlCommand("Insert into customerinfo(ID, OwnerName) values('" + textBox1.Text + "', '" + textBox6.Text + "')", sq);

这里有一些额外的提示:

  • using 语句中打开连接,以便确保正确处理和关闭连接内存处置。
  • 同意添加动态查询可能会导致您的应用程序遭受 SQL 注入(inject)(您可能想要研究的整个主题)。因此,只需确保在客户端和服务器端添加大量验证、拥有存储过程或将此插入更改为 ORM 化即可。

希望这有帮助

关于c# - 使用 Visual C# 插入 MySql 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40644566/

相关文章:

c# - 仅在特定 Excel 行中旋转文本

c# - 防止反序列化 DateTime 值时进行时区转换

c# - 告诉正在执行循环的线程跳出循环并执行其他操作的正确方法是什么?

mysql - 优化地理搜索查询

php - 将变量值传输到另一个页面

MySQL:子查询返回多行

c# - 选择 System.Drawing.Icon 的大小?

c# - sql中的Varchar创建额外的空格

java - 使用客户 ID 生成的 JPA 序列号

php - 函数未按预期返回数据