Buenos dias compañeros mi inquietud es la siguiente:
Estoy desarrollando un aplicación en VB 2005 y BD SQL Server 2005, estoy utilizando una función como esta para ejecutar scripts o cualquier consulta que se le pase por parametro(No necesariamente debe ser la ruta a un script.sql)
Ahora la forma de utilizarla es la siguiente:
Agradesco sus comentarios al respecto desde ya muchas gracias.
Saludos.
Estoy desarrollando un aplicación en VB 2005 y BD SQL Server 2005, estoy utilizando una función como esta para ejecutar scripts o cualquier consulta que se le pase por parametro(No necesariamente debe ser la ruta a un script.sql)
Código:
Public Function Ejecutar(ByVal cScriptSQL As String) As String Dim Activo As Boolean If cScriptSQL <> vbNullString Then Conexion.Open() Comando = New Odbc.OdbcCommand(cScriptSQL, Conexion) Try Comando.CommandText = cScriptSQL Comando.ExecuteNonQuery() Activo = True MessageBox.Show("Consulta Script OK") Catch ex As Exception MessageBox.Show("Error al ejecutar el script SQL:" & vbCrLf & ex.Message) Activo = False End Try End If Return Activo End Function
Ahora la forma de utilizarla es la siguiente:
Código:
Esta ejecución me devuelve 4 datos que son Referencia, COMPRT_02, nivel, PMDES1_01, aqui es donde radica mi duda al ejecutarla en el SQL Server me devuelve los resultados, obviamante cuando la ejecuto en mi aplicación me devuelve el mensaje de Script OK, mi pregunta es teniendo en cuenta la estructura de mi función como hago para rescatar los datos que me devuelve la ejecución teniendo en cuenta que el objeto Comando.ExecuteNonQuery() solo me devuelve le numero de filas afectadas al ejecutar el script??? o de que otra manera podría plantear mi función para ejecutar scripts Sql y poder rescatar los datos que me devuelve la ejecución del mismo???Ejecutar("WITH MExplosion (PARPRT_02, COMPRT_02, nivel, Referencia) AS (SELECT r.PARPRT_02, r.COMPRT_02,0 AS nivel, PARPRT_02 as Referencia FROM Product_Structure as r UNION ALL SELECT r.PARPRT_02, r.COMPRT_02, nivel + 1, Referencia FROM Product_Structure as r INNER JOIN MExplosion AS d ON r.PARPRT_02 = d.COMPRT_02 ) SELECT Referencia, COMPRT_02, nivel, PMDES1_01 FROM MExplosion INNER JOIN Part_Master ON MExplosion.COMPRT_02 = Part_Master.PRTNUM_01 INNER JOIN Part_Sales ON Part_Sales.PRTNUM_29 = Referencia WHERE COMPRT_02 LIKE '" & Me.partes.SelectedRows(0).Cells(0).Value.ToString & "%'")
Agradesco sus comentarios al respecto desde ya muchas gracias.
Saludos.