저는 VB.Net에서 기본 기능이 들어오는 송장을 처리하는 재고 관리 시스템을 만들고 있습니다. 원격 MySQL 데이터베이스에 데이터를 삽입하고 싶지만 텍스트 상자가 활성화된 것으로 간주되는 경우에만 가능합니다. 모든 필드를 삽입하려는 경우 데이터베이스에 데이터를 삽입하는 데 문제가 없습니다. 하지만 확인란을 사용하여 특정 제품을 활성화하고 직원이 특정 항목만 입력할 수 있도록 하고 싶습니다. 확인란은 필요에 따라 텍스트 필드를 활성화 및 비활성화하지만 데이터가 데이터베이스에 삽입되면 모든 제품 유형에 대해 null 값이 입력됩니다. 이는 송장 발행 시스템을 엉망으로 만들기 때문에 원하지 않습니다. . 현재 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에서 데이터베이스 작업을 제거할 수도 있습니다현재 디자인을 이해한다면
테이블 이름