我正在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 移除如果我理解你目前的設計,
表格名稱