Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

ExecuteNonQuery() dla wstawiania

Jest kilka problemów z tym kodem.

Najważniejsze jest to, że nie ustawiasz Połączenie właściwość, więc polecenie nie ma możliwości poznania sposobu połączenia z bazą danych.

Gorąco polecam również użycie używanie , a także parametryzowanie Twoje zapytanie:

Na koniec nie deklaruj połączenia i polecenia poza funkcją, chyba że jest to konieczne. Powinieneś utrzymywać połączenie i polecenie tylko tak długo, jak ich potrzebujesz.

Więc twoja funkcja wyglądałaby tak:

Public Function add(ByVal area As String, ByVal user As String) As Integer

    Dim mydao As New Connection

    Using connection As New SqlConnection(mydao.ConnectionString())

        Using command As New SqlCommand()
            ' Set the connection
            command.Connection = connection 

            ' Not necessary, but good practice
            command.CommandType = CommandType.Text 

            ' Example query using parameters
            command.CommandText = "INSERT into Area (Area, user) VALUES (@area, @user)" 

            ' Adding the parameters to the command
            command.Parameters.AddWithValue("@area", area)
            command.Parameters.AddWithValue("@user", user)

            connection.Open()

            Return command.ExecuteNonQuery()

        End Using ' Dispose Command

    End Using ' Dispose (and hence Close) Connection

End Function

Pamiętaj, że obecnie przez cały czas będziesz zwracać 0. Zamiast sprawdzać wartość zwróconą z funkcji, powyższy przykład po prostu zgłosi wyjątek. To sprawia, że ​​kod jest nieco czystszy (ponieważ wywołujący musiałby zrozumieć, że 0 jest warunkiem błędu), a jeśli potrzebujesz obsłużyć wyjątek, po prostu zawiń wywołanie tej funkcji w Try-Catch zablokuj




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Korzystanie z SolarWinds Serv-U w systemie Linux z bazą danych uwierzytelniania SQL Server

  2. Jak zmienić kolumnę z wartości Null na Not Null w tabeli SQL Server — samouczek SQL Server / T-SQL, część 52

  3. Zapytanie serwera SQL, aby uzyskać listę kolumn w tabeli wraz z typami danych, ograniczeniami NOT NULL i PRIMARY KEY

  4. Jak zwrócić zduplikowane klucze z dokumentu JSON w SQL Server

  5. Sprawdzanie poprawności numerycznej