我正在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
P粉7397060892024-02-22 09:18:22
您不能只插入没有行的列。因此,如果要插入一列,则必须插入所有列。如果您不想添加值,则该列可以是 NULL 或空字符串,具体取决于数据库中的列。还可以使用 Using
并使用 Async/Await
将数据库工作从 UI 中移除
Public Async Sub btnEnter_Click(sender As Object, e As EventArgs) Handles btnEnter.Click ' if your columns take NULL to mean no value Await AddParams( If(txtTextbox1.Enabled, Column1.Text, Nothing), If(txtTextbox2.Enabled, Column2.Text, Nothing), If(txtTextbox3.Enabled, Column3.Text, Nothing)) ' else, if an empty string means no value Await AddParams( If(txtTextbox1.Enabled, Column1.Text, ""), If(txtTextbox2.Enabled, Column2.Text, ""), If(txtTextbox3.Enabled, Column3.Text, "")) End Sub Private Function AddParams(param1 As String, param2 As String, param3 As String) As Task Return Task.Run( Sub() Using mysqlconn As New MySqlConnection("ServerConnection") mysqlconn.Open() Using mysqlCmd As New MySqlCommand("Insert into Table_Name (Column1,Column2,Column3) Values (@rec1,@Rec2,@Rec3)", mysqlconn) mysqlCmd.Parameters.AddWithValue("@Rec1", param1) mysqlCmd.Parameters.AddWithValue("@Rec2", param2) mysqlCmd.Parameters.AddWithValue("@Rec3", param3) End Using End Using End Sub) End Function
如果我理解你当前的设计,
表名称
ID | 第 1 列 | 第 2 列 | 第 3 列 |
---|---|---|---|
1 | abc | 定义 | ghi |
2 | jkl | mno | pqr |