sql >> Database >  >> RDS >> Sqlserver

Hoe kan ik gegevens in SQL Server invoegen met VBNet

Dit betekent dat het aantal waarden dat is opgegeven in uw VALUES clausule op de INSERT statement is niet gelijk aan het totale aantal kolommen in de tabel. U moet de kolomnaam specificeren als u alleen probeert in te voegen op geselecteerde kolommen.

Nog een, aangezien u ADO.Net gebruikt , parametriseerde uw zoekopdracht altijd om SQL Injection te vermijden . Wat je nu doet, is dat je verslaat het gebruik van 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:wijzig de kolomnamen die in de zoekopdracht zijn opgegeven in de originele kolom in uw tabel.



  1. Kun je een webservice aanroepen vanuit TSQL-code?

  2. Hoe voer ik één keer een opgeslagen procedure uit voor elke rij die door een query wordt geretourneerd?

  3. Verschil tussen multi-statement tabelwaardige functies en inline tabelwaardige functies in SQL Server

  4. De onderliggende kolommen van een weergave verkrijgen op basis van de resultatenset