Inserire dati in un database SQL in VB.NET

Sto cercando di inserire un Fornitore di dati in SQL database che ho costruito dentro VB.NET.

Qui è il codice che sto usando:

Dim myconnect As New SqlClient.SqlConnection
        myconnect.ConnectionString = "Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\DB\InvDB.mdf;Integrated Security=True;User Instance=True"


        Dim mycommand As SqlClient.SqlCommand = New SqlClient.SqlCommand()
        mycommand.Connection = myconnect
        mycommand.CommandText = "INSERT INTO Supplier (SupplierID, Name, Email,Phone,Address,City) VALUES (@SID, @Name, @Email, @Phone, @Address, @City)"
        myconnect.Open()

        Try
            mycommand.Parameters.Add("@SID", SqlDbType.Int).Value = SIDTextBox.Text
            mycommand.Parameters.Add("@Name", SqlDbType.NVarChar).Value = NameTextBox.Text
            mycommand.Parameters.Add("@Email", SqlDbType.VarChar).Value = EmailTextBox.Text
            mycommand.Parameters.Add("@Phone", SqlDbType.VarChar).Value = PhoneTextBox.Text
            mycommand.Parameters.Add("@Address", SqlDbType.NVarChar).Value = AddressTextBox.Text
            mycommand.Parameters.Add("@City", SqlDbType.NVarChar).Value = CityTextBox.Text
            mycommand.ExecuteNonQuery()
            MsgBox("Success")
        Catch ex As System.Data.SqlClient.SqlException
            MsgBox(ex.Message)
        End Try
        myconnect.Close()

Il problema quando inserisco i dati, mi è arrivato il messaggio di Successo, ma quando controllo il database, non riesco a trovare i dati !!

Ho controllato il file mdf e l’ho trovato corretto (La stessa che sto usando)

Qualsiasi aiuto per favore.

  • Qual è la definizione di tabella per il Fornitore?
InformationsquelleAutor Nasser | 2013-06-17



3 Replies
  1. 2

    Ho preso

    Il problema è stato con questa linea:

    myconnect.ConnectionString = "Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\DB\InvDB.mdf;Integrated Security=True;User Instance=True"

    Ho sostituito |DataDirectory| con il percorso di InvDB.mdf e ha funzionato

    • grande.. !! 🙂 🙂
    • +1 per la risoluzione di te.
  2. 0
    Dim query as String = String.Empty
    query = "INSERT INTOSupplier (SupplierID, Name, Email,Phone,Address,City) VALUES (@SID, @Name, @Email, @Phone, @Address, @City) "   
    Using conn as New SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\DB\InvDB.mdf;Integrated Security=True;User Instance=True")
        Using comm As New SqlCommand()
            With comm
                .Connection = conn
                .CommandType = CommandType.Text
                .CommandText = query
                mycommand.Parameters.Add("@SID", SqlDbType.Int).Value = SIDTextBox.Text
            .Parameters.Add("@Name", SqlDbType.NVarChar).Value = NameTextBox.Text
            .Parameters.Add("@Email", SqlDbType.VarChar).Value = EmailTextBox.Text
            .Parameters.Add("@Phone", SqlDbType.VarChar).Value = PhoneTextBox.Text
            .Parameters.Add("@Address", SqlDbType.NVarChar).Value = AddressTextBox.Text
            .Parameters.Add("@City", SqlDbType.NVarChar).Value = CityTextBox.Text            
            End With
            Try
                conn.open()
                comm.ExecuteNonQuery()
            Catch(ex as SqlException)
                MessageBox.Show(ex.Message.ToString(), "Error Message")
            End Try
        End Using
    End USing 

    Provare questo fuori.

  3. -2

    Ho avuto un problema simile e nel mio caso l’applicazione non dispone di accesso in scrittura alla cartella in cui il file di database.

Lascia un commento