Visual Basic.NET - URGENTE: EVALUAR EN UN TEXTO

 
Vista:

URGENTE: EVALUAR EN UN TEXTO

Publicado por hubert (5 intervenciones) el 12/10/2007 01:46:08
Soy nuevo en VB.NET, pero NECESITO resolver lo siguiente (soy desarrollador Visual Fox 9.0).

En VISUAL FOX hago lo siguiente.

-- INICIO
xcagencia = 25
xccajero = 220

var01 = "DECLARE @xnoperacion INT, @xccajero INT, @xcptoaten INT"

TEXT TO xxCOMANDO NOSHOW TEXTMERGE PRETEXT 7
<<var01>>
SELECT @xcptoaten = a.cptoaten, @xpto = b.pto FROM cajero a
JOIN ptoaten b ON b.cptoaten = a.cptoaten AND b.cagencia = <<xcagencia>>
WHERE a.cagencia = <<xcagencia>> and a.ccajero = <<xccajero>>
ENDTEXT
-- FIN

Lo que esta dentro de Instruccion "TEXT......ENDTEXT" que se carga en la variable xxCOMANDO me devualve lo siguiente:

DECLARE @xnoperacion INT, @xccajero INT, @xcptoaten INT
SELECT @xcptoaten = a.cptoaten, @xpto = b.pto FROM cajero a
JOIN ptoaten b ON b.cptoaten = a.cptoaten AND b.cagencia = 25
WHERE a.cagencia = 25 and a.ccajero = 220

Si se dan cuenta lo que esta dentro de <<>> es evaluado:
<<var01>> fue remplazado por "DECLARE @xnoperacion INT, @xccajero INT, @xcptoaten INT"
<<xcagencia>> fue remplazado por 25
<<xccajero>> fue remplazado por 220

Osea, en xxCOMANDO vale toda la instruccion TSQL (esto es un ejemplo por el TSQL es mas inmenso) que luego es ejecutado por uno de mis componentes COM+.

Tengo la misión de ahora hacer lo mismo con VB .NET.
Favor de indicarme como es que hago lo de arriba, con VB .NET.

Hay una instruccion similar que el "TEXT......ENDTEXT" de VISUAL FOX?.
Caso contrario favor de guiarme como lo haria de otra forma.

Gracias grupo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:URGENTE: EVALUAR EN UN TEXTO

Publicado por haver (196 intervenciones) el 12/10/2007 15:59:28
Pues con punto net es mas sencillo

'declaracion de variables
dim xcagencia as integer = 25
dim xccajero as integer = 220

'mi conexion hacia la base
Dim cns As New Odbc.OdbcConnection("Dsn=Conta;dbq=C:\NUEVA CARPETA\CONTAW;defaultdir=C:\NUEVA CARPETA\CONTAW;driverid=533;fil=dBase 5.0;maxbuffersize=2048;pagetimeout=5")

'mi sentencia sql
Dim dt As New Odbc.OdbcDataAdapter("Select * from bancos", cns)

'mi dataset de datos
Dim ds As New DataSet

'lleno el dataset con el datadapter
dt.Fill(ds, "bancos")

'lleno el gridview con la consulta
Me.Grid1.DataSource = ds
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:URGENTE: EVALUAR EN UN TEXTO

Publicado por hubert (5 intervenciones) el 12/10/2007 16:17:20
Gracias por responder haver:
Creo que no se entendio.
Una vez obtenido la TSQL es simple ejecutarlo.

En VISUAL FOX hago lo siguiente.

-- INICIO
xcagencia = 25 -- puede ser un parametro leido de un componente
xccajero = 220

var01 = "DECLARE @xnoperacion INT, @xccajero INT, @xcptoaten INT"

TEXT TO xxCOMANDO NOSHOW TEXTMERGE PRETEXT 7
<<var01>>
SELECT @xcptoaten = a.cptoaten, @xpto = b.pto FROM cajero a
JOIN ptoaten b ON b.cptoaten = a.cptoaten AND b.cagencia = <<xcagencia>>
WHERE a.cagencia = <<xcagencia>> and a.ccajero = <<xccajero>>
ENDTEXT
-- FIN

Lo que esta dentro de Instruccion "TEXT......ENDTEXT" que se carga en la variable xxCOMANDO me devualve lo siguiente:

DECLARE @xnoperacion INT, @xccajero INT, @xcptoaten INT
SELECT @xcptoaten = a.cptoaten, @xpto = b.pto FROM cajero a
JOIN ptoaten b ON b.cptoaten = a.cptoaten AND b.cagencia = 25
WHERE a.cagencia = 25 and a.ccajero = 220

Si se dan cuenta lo que esta dentro de <<>> es evaluado:
<<var01>> fue remplazado por "DECLARE @xnoperacion INT, @xccajero INT, @xcptoaten INT"
<<xcagencia>> fue remplazado por 25 que puede ser un parametro recibido
<<xccajero>> fue remplazado por 220 y esto puede ser otro parametro

LO QUE QUIERO OBTENER ES LA VARIABLE xxCOMANDO= a todo lo de abajo:
"DECLARE @xnoperacion INT, @xccajero INT, @xcptoaten INT
SELECT @xcptoaten = a.cptoaten, @xpto = b.pto FROM cajero a
JOIN ptoaten b ON b.cptoaten = a.cptoaten AND b.cagencia = 25
WHERE a.cagencia = 25 and a.ccajero = 220"

POR QUE APARTE DE EJECUTARLO, TENGO QUE ALMACENARLO TAL Y COMO ESTA.

La ejecucón es simple. Lo de arriba solo es un ejemplo, por que dentro de mis TSQL incluyo Store Procedure (pero ese es otro asunto).

Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:URGENTE: EVALUAR EN UN TEXTO

Publicado por haver (196 intervenciones) el 12/10/2007 16:28:34
Vaya es lo mismo lo unico es que tu sentencia sql se guarda en el dataset

y ahi estan tus datos si quieres te dejo mi msn

[email protected]
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar