Hoy me encontré con una pregunta en foro de programadores de VFP, sobre como hacer para ejecutar un script SQL desde VFP.
Me topé con este problema hace ya unos cuantos años, y recuerdo que fue muy frustrante darme cuenta que el comando SQLEXEC() no estaba diseñado para ejecutar varias instrucciones sino mas bien una sola.
En aquel tiempo se me ocurrió que dado que en un script SQL todas las instrucciones se terminan con un comando GO, se podría utilizar este comando como un "separador", a fin de aplicar un "parsing" al script SQL y usar SQLEXEC() para ejecutar cada instrucción individualmente.
El código pueden copiarlo desde el artículo original en mi website:
Como ejecutar un script SQL desde VFP
lunes, septiembre 24, 2007
VFP: Ejecutar un script SQL por código
martes, septiembre 11, 2007
ASP.NET 2.0: Encontrar un control en el HeaderTemplate de un WizardControl
Bueno, AL FIN encontré algo de tiempo para desempolvar este blog y ver si ahora si (por enésima vez) me propongo actualizarlo frecuentemente.
Hoy descubrí la maravilla del Wizard Control del ASP.NET 2.0, y como con todas las cosas que tienen que ver en particular con ASP.NET y en general con MS, la alegría no tardo en dar paso a la frustación.
RESULTA que el WizardControl permite configurar un encabezado usando el tag HeaderTemplate, en donde se puede colocar lo que uno quiera, incluyendo casi cualquier tipo de control.
En mi caso, tenia un panel con un table adentro que queria mostrar bajo ciertas condiciones. Por lo tanto, intente obtener una referencia al panel usando el consabido FindControl:
Según la documentación de MS, esto debería funcionar sin problemas... la clave aqui esta en "DEBERIA". Resulta que NO funciona. Investigando en San Google, y luego de mucho buscar, me encontré con la maravilla de el método FindControl no recorre todos los objetos en su búsqueda por el objeto cuyo ID se le indicó.
La siguiente función (originalmente hecha en C# por JS Greenwood) soluciona este "problemita", buscando un control en TODOS los controles contenidos en el contenedor indicado:
Entonces, ahora en lugar de usar el FindControl del WizardControl usamos la funcion MyFindControl:
El link original del artículo de JS Greenwood lo pueden encontrar aqui:
http://www.asptoday.com/Content.aspx?id=2359
Victor Espina
Hoy descubrí la maravilla del Wizard Control del ASP.NET 2.0, y como con todas las cosas que tienen que ver en particular con ASP.NET y en general con MS, la alegría no tardo en dar paso a la frustación.
RESULTA que el WizardControl permite configurar un encabezado usando el tag HeaderTemplate, en donde se puede colocar lo que uno quiera, incluyendo casi cualquier tipo de control.
En mi caso, tenia un panel con un table adentro que queria mostrar bajo ciertas condiciones. Por lo tanto, intente obtener una referencia al panel usando el consabido FindControl:
Dim myPanel As Panel myPanel = CType(Me.Wizard1.FindControl("pnlError"),pnlError)
Según la documentación de MS, esto debería funcionar sin problemas... la clave aqui esta en "DEBERIA". Resulta que NO funciona. Investigando en San Google, y luego de mucho buscar, me encontré con la maravilla de el método FindControl no recorre todos los objetos en su búsqueda por el objeto cuyo ID se le indicó.
La siguiente función (originalmente hecha en C# por JS Greenwood) soluciona este "problemita", buscando un control en TODOS los controles contenidos en el contenedor indicado:
Public Function MyFindControl(ByVal parent As Control, _ ByVal id As String) As Control If parent.ID = id Then Return parent End If Dim child As Control For Each child In parent.Controls Dim recurse As Control = MyFindControl(child, id) If Not recurse Is Nothing Then Return recurse End If Next Return Nothing End Function
Entonces, ahora en lugar de usar el FindControl del WizardControl usamos la funcion MyFindControl:
Dim myPanel As Panel myPanel = CType(MyFindControl(Me.Wizard1,"pnlError"),pnlError)
El link original del artículo de JS Greenwood lo pueden encontrar aqui:
http://www.asptoday.com/Content.aspx?id=2359
Victor Espina
Suscribirse a:
Entradas (Atom)