我正在VB.Net中创建一个库存管理系统,其基本功能是处理传入发票。我想将数据插入到我的远程 MySQL 数据库中,但前提是文本框被认为已启用。当我希望插入所有字段时,将数据插入数据库没有问题。但我希望复选框启用某些产品并允许员工仅输入特定项目。这些复选框确实根据需要启用和禁用文本字段,但是当将数据插入数据库时,它将为所有产品类型输入空值,我不希望它这样做,因为它会弄乱发票系统。目前,我尝试了 if then 语句,但遇到的问题是它希望定义未启用的文本框。 我尝试过的代码是:
Public Sub btnEnter_Click(sender As Object, e As EventArgs) Handles btnEnter.Click Dim mysqlconn as new MySqlConnection ("ServerConnection") mysqlconn.Open() dim mysqlCmd as new MysqlCommand mysqlcmd.Connection = MysqlConn mysqlcmd.CommandText = "Insert into Table_Name (Column1,Column2,Column3) Values (@rec1,@Rec2,@Rec3)" If txtTextbox1.Enabled = True then mysqlcmd.Parameters.AddWithValue("@Rec1",Column1.text) End If If txtTextBox2.Enabled = True then mysqlcmd.Parameters.AddWithValue(@Rec2,Column2.text) End IF IF txtTextBox3.Enabled = True then mysqlcmd.Parameters.AddWithValue(@Rec3,Column3.text) End If
您不能只插入没有行的列。因此,如果要插入一列,则必须插入所有列。如果您不想添加值,则该列可以是 NULL 或空字符串,具体取决于数据库中的列。还可以使用
Using
并使用Async/Await
将数据库工作从 UI 中移除如果我理解你当前的设计,
表名称