Come chiamare SQL stored procedure in Visual Basic

December 29

L'utilizzo di stored procedure in VB.NET è necessario in applicazioni che utilizzano un database per il contenuto dinamico. L'utilizzo di stored procedure è più veloce di SQL inline. Inoltre, impedisce attacchi di SQL injection da parte di hacker. Chiamare una stored procedure richiede solo poche righe di codice nel file di codice per l'applicazione.

istruzione

1 Creare e aprire la connessione al database. In Visual Basic, vi è un oggetto di connessione utilizzata per connettersi a SQL Server. Il codice seguente crea una variabile connessione e apre.
con fioco come nuovo SqlClient.SqlConnection
con.ConnectionString = \ "Data Source = MySQLServer; User ID = utente; Password = mypass; \"
con.Open ()

2 Un'istanza dell'oggetto Command SQL. Questo oggetto viene utilizzato per impostare i parametri che vengono inviati a SQL Server per l'elaborazione. Nel codice di seguito, viene creata la "sql \" \ variabile. Il comando utilizza anche il \ variabile "con \" dal punto uno di chiamare il database. Il parametro \ "sel_customer \" è il nome della stored procedure.
SQL fioco come nuovo SqlClient.SqlCommand (\ "sel_customer \", con)

3 Impostare il tipo di comando come \ Questo programmi di codice l'oggetto Command di conoscere una stored procedure viene chiamata "Stored Procedure \.":
sql.CommandType = CommandType.StoredProcedure;

4 Aggiungere un parametro per la stored procedure. La maggior parte stored procedure richiedono parametri. Nel codice di seguito, la stored procedure richiede il numero ID del cliente per cercare le informazioni.
sql.Parameters.Add (nuovo SqlParameter (\ "@ CustomerId \", SqlDbType.Numeric, 0, \ "CustID \"))
ANDARE
sql.Parameters [0] .Value = 22;

5 Recuperare le informazioni. In questo semplice richiesta, solo un parametro viene restituito. Il codice di seguito invia la richiesta al server e recupera prima il nome del cliente:
sql.ExecuteNonQuery ()
ANDARE
stringa FirstName = (stringa) sql.Parameters [\ "@ \ firstname"] di valore.;