Hola a todos!
mi pregunta esta clara, quiero mandar a ejecutar un procedimiento almacenado que elabore en SQL Server 2000 desde un botón en Visual Basic 6.0.
Gracias de Antemano: Usecas
| |||
![]() Hola a todos! mi pregunta esta clara, quiero mandar a ejecutar un procedimiento almacenado que elabore en SQL Server 2000 desde un botón en Visual Basic 6.0. Gracias de Antemano: Usecas |
| |||
Mira, tienes que usar un objeto ADO. Especificamente un ADODB.Command. Como ejemplo, aqui te mando un código que encontré en MSDN Fíjate que este ejemplo haces una conexión, creas parámetros para el sotre procedure y finalmente lo ejecutas con .execute. Mira esto primero, si tienes más dudas, me mandas un correo electrónico. Con gusto te ayudo. Dim objConn As ADODB.Connection Dim objCmd As ADODB.Command '-------------------------------------------------------------------- '--- Open the connection to the pubs database '-------------------------------------------------------------------- Set objConn = New ADODB.Connection objConn.Provider = "SQLOLEDB" objConn.ConnectionString = "Provider=SQLOLEDB.1;Initial Catalog=pubs;Data Source=papanotebook;User ID=sa;Password=" objConn.Open '-------------------------------------------------------------------- '--- Set the command object up to run the stored procedure '-------------------------------------------------------------------- Set objCmd = New ADODB.Command objCmd.CommandType = adCmdStoredProc objCmd.CommandText = "prUpdateAuthor" Set objCmd.ActiveConnection = objConn '-------------------------------------------------------------------- '--- Create and add the parameters '-------------------------------------------------------------------- objCmd.Parameters.Append objCmd.CreateParameter("@chvFirstName", adVarChar, adParamInput, 20, "John") objCmd.Parameters.Append objCmd.CreateParameter("@chvLastName", adVarChar, adParamInput, 40, "White") objCmd.Parameters.Append objCmd.CreateParameter("@chrPhone", adChar, adParamInput, 12, "408 496-7223") objCmd.Parameters.Append objCmd.CreateParameter("@chvAddress", adVarChar, adParamInput, 40, "10932 Bigge Rd.") objCmd.Parameters.Append objCmd.CreateParameter("@chvCity", adVarChar, adParamInput, 20, "Menlo Park") objCmd.Parameters.Append objCmd.CreateParameter("@chrState", adChar, adParamInput, 2, "CA") objCmd.Parameters.Append objCmd.CreateParameter("@chrZip", adChar, adParamInput, 5, "94025") objCmd.Parameters.Append objCmd.CreateParameter("@bitContract", adBoolean, adParamInput, , 1) objCmd.Parameters.Append objCmd.CreateParameter("@chrID", adChar, adParamInput, 1, "172-32-1176") '-------------------------------------------------------------------- '--- Execute the stored procedure '-------------------------------------------------------------------- objCmd.Execute objConn.Close Set objCmd = Nothing Set objConn = Nothing '-------------------------------------------------------------------- |
| |||
Gracias tomed por responderme. Me sirvio lo que me respondistes, tenia uno parecido pero sin pasarle parametro. Espero que sigamos compartiendo conocimientos! Atte:Usecas "Di Sí al Software Libre(GNU)" Managua,Nicaragua |
| |||
Mira este es otro ejemplo que a mi juicio es mucho mas simple y tb. funciona para ASP o VB acá vá ************************************************** ** Set dbConnection = Server.CreateObject("ADODB.Connection") dbConnection.ConnectionTimeout = 1024 dbConnection.CommandTimeout = 1024 dbConnection.Open ("DSN=DSNTestFranco;UID=sa;PWD=;DATABASE=TestFranc o;APP=ASP script") 'Debe Existir en tu Pc (ODBC) SQLQuery = "SELECT Nombre FROM Amigos Order by Nombre" Response.Write "<br>" & SQLQuery Set rsQuery = dbConnectionSQL.Execute(SQLQuery) Do While Not(rsQuery.EOF) Response.Write "<br>" & rsQuery("Nombre_Campo") 'para ASP MsgBox rsQuery("Nombre_Campo") 'para Visual Vasic MoveNext Loop Set dbConnection = Nothing ************************************************** ** Salu2
__________________ ATTE. Franco A. Gomara G. |
| |||
Re: Cómo ejecutar un Procedure SQL Server 2000 en Visual Basic 6.0 Hola: quisiera saber como recupero un conjunto de filas en visual basic de un procedimiento almacenado con parametros en visual basic, los datos los envio al servidor sin problemas pero no los puedo recuperar, claro excepcionando los reportes q si salen pero quiero agregar esos registro a una lista este es el codigo: Private Sub cmdEjecutar_Click() Dim rs As ADODB.Recordset Dim cmdCab As ADODB.Command Dim prmCab As ADODB.Parameter Dim cdnValor As Variant Set cmdCab = New ADODB.Command cmdCab.CommandText = "pa_StockxAlmacen" cmdCab.CommandType = adCmdStoredProc cmdCab.ActiveConnection = cnAlmacen Set prmCab = cmdCab.CreateParameter("codSuc", adInteger, adParamInput) cmdCab.Parameters.Append prmCab Set prmCab = cmdCab.CreateParameter("fechaIni", adDate, adParamInput) cmdCab.Parameters.Append prmCab Set prmCab = cmdCab.CreateParameter("FechaFin", adDate, adParamInput) cmdCab.Parameters.Append prmCab cmdCab.Parameters("codSuc") = Val(cbo_Almacen.ItemData(cbo_Almacen.ListIndex)) cmdCab.Parameters("FechaIni") = fecha1 cmdCab.Parameters("FechaFin") = fecha2 cmdCab.Execute '***** hasta aqui funciona todo**** set rs=cmdcab.execute For i = 1 To rs.RecordCount - 1 Grid1.TextMatrix(i, cod_detalle) = rs!CantIng Grid1.Rows = Grid1.Rows + i Next i End Sub |