sql >> Databasteknik >  >> RDS >> Sqlserver

Hur kan jag infoga data i SQL Server med VBNet

Det betyder att antalet värden som anges i din VALUES sats på INSERT uttalandet är inte lika med det totala antalet kolumner i tabellen. Du måste ange kolumnnamnet om du bara försöker infoga på valda kolumner.

En annan, eftersom du använder ADO.Net , parametriserade alltid din fråga för att undvika SQL Injection . Det du gör just nu är att du besegrar användningen av sqlCommand .

ex

Dim query as String = String.Empty
query &= "INSERT INTO student (colName, colID, colPhone, "
query &= "                     colBranch, colCourse, coldblFee)  "
query &= "VALUES (@colName,@colID, @colPhone, @colBranch,@colCourse, @coldblFee)"

Using conn as New SqlConnection("connectionStringHere")
    Using comm As New SqlCommand()
        With comm
            .Connection = conn
            .CommandType = CommandType.Text
            .CommandText = query
            .Parameters.AddWithValue("@colName", strName)
            .Parameters.AddWithValue("@colID", strId)
            .Parameters.AddWithValue("@colPhone", strPhone)
            .Parameters.AddWithValue("@colBranch", strBranch)
            .Parameters.AddWithValue("@colCourse", strCourse)
            .Parameters.AddWithValue("@coldblFee", dblFee)
        End With
        Try
            conn.open()
            comm.ExecuteNonQuery()
        Catch(ex as SqlException)
            MessageBox.Show(ex.Message.ToString(), "Error Message")
        End Try
    End Using
End USing 

PS:Ändra kolumnnamnen som anges i frågan till den ursprungliga kolumnen som finns i tabellen.



  1. Hur man beräknar aktiva användare per vecka (WAU) i MySQL

  2. Använder EXCEPT-satsen i PostgreSQL

  3. Ge privilegier för en viss databas i PostgreSQL

  4. Hur återanvänder man resultatet för SELECT-, WHERE- och ORDER BY-klausuler?