我正在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 |