Foros del Web » Programando para Internet » ASP Clásico »

alter table complicadillo

Estas en el tema de alter table complicadillo en el foro de ASP Clásico en Foros del Web. no doy con una solucion: tengo un form que envia los datos: tablas y campos, para crear un campo nuevo en una tabla de una ...
  #1 (permalink)  
Antiguo 08/10/2005, 15:26
 
Fecha de Ingreso: septiembre-2005
Mensajes: 20
Antigüedad: 19 años, 7 meses
Puntos: 0
alter table complicadillo

no doy con una solucion:

tengo un form que envia los datos: tablas y campos, para crear un campo nuevo en una tabla de una base de datos existente pero me da error.

CAMPOS= trim(Request.Form("CAMPOS"))
TABLAS= trim(Request.Form("TABLAS"))
.../
sql = "ALTER TABLE ("&TABLAS&") ADD COLUMN ("&CAMPOS&") TEXT(255)"
Error de sintaxis en la instrucción ALTER TABLE
.../

Si utilizo la misma instruccion:
sql = "ALTER TABLE prueba ADD COLUMN columna_pueva TEXT(255)"
asi si que funciona pero el caso seria poder enviar los datos por form

he probado ("&TABLAS&") ("TABLAS") "'"&TABLAS&"'"
pero sigue dando el mismo error

¿Alguien tiene algun consejo ??
  #2 (permalink)  
Antiguo 09/10/2005, 07:22
Avatar de El_Metallick  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 1.718
Antigüedad: 22 años, 5 meses
Puntos: 16
no deveria ser " & TABLAS & "?? la verdad es que no estoy en un pc en el que pueda probarlo asique te lo dejo ati... avisas cualquier cosa saludos
__________________
Haz la guerra en la cama y el amor donde se te de la gana...
El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!!
  #3 (permalink)  
Antiguo 09/10/2005, 13:12
 
Fecha de Ingreso: septiembre-2005
Mensajes: 20
Antigüedad: 19 años, 7 meses
Puntos: 0
Pues ..si

Tenias razon, el agobio de pensar en lo mas simple ... :)
  #4 (permalink)  
Antiguo 09/10/2005, 13:23
 
Fecha de Ingreso: septiembre-2005
Mensajes: 20
Antigüedad: 19 años, 7 meses
Puntos: 0
codigo terminado, pagina asp para crear tablas y campos

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Pagina nueva 1</title>
<meta name="GENERATOR" content="Microsoft FrontPage 6.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
</head>
<body>

<!-- Suponiendo que tengamos estos includes son la coleccion ADO de conexiones SQL y un include que unifica todas las conexiones -->

<!--#INCLUDE FILE="../../INCLUDES/adovbs.asp"-->
<!--#INCLUDE FILE="../../INCLUDES/adoConecta.Asp"-->
<!-- simplificamos los vinculos para no tener que escribir el nombre de la pagina cada vez -->
<%
AQUIMATEIX = Request.ServerVariables("SCRIPT_NAME")
cmd = trim(Request.Form("cmd"))
IF cmd="" THEN
%>
<!-- Explicación HTML -->
<font size="2">Hare un breve resumen de los parámetros de la sentencia para
introducirlos y que sea mas fácil entenderla:<br>
Sentencia Definición / Acción Ejemplo </font>
<p><font size="2">Tablas:<br>
<b>CREATE TABLE</b> Sirve para crear la nueva tabla CREATE TABLE mi_tabla <br>
<b>DROP TABLE</b> Sirve para eliminar una tabla existente DROP TABLE mi_tabla</font></p>
<p><font size="2">Campos:<br>
<b>PRIMARY KEY</b> Definimos el campo como Clave Primaria campo PRIMARY KEY <br>
<b>AUTOINCREMENT</b> Definir un campo de tipo Auto Numerico campo AUTOINCREMENT <br>
<b>INTEGER</b> Definir un campo de tipo Numerico campo INTEGER <br>
<b>TEXT (20)</b> Definir un campo de tipo Texto campo TEXT(20) <br>
<b>DATETIME</b> Definir un campo de tipo Dia/Fecha campo DATETIME <br>
<b>MEMO</b> Definir un campo de tipo Memo campo MEMO </font></p>

<!-- Formularios para ejecutar codigo -->

<form method="POST" action="<%= AQUIMATEIX%>">
<input type="hidden" name="cmd" value="afegir_taula">
<div align="center">
<table border="0" width="80%" id="table1" cellpadding="2" style="border: 1px dotted #C0C0C0">
<!-- MSTableType="nolayout" -->
<tr>
<td colspan="2"><b>Afegir Taula:</b></td>
</tr>
<tr>
<td width="50%">
<p align="center"><b><font size="1">Nombre de la base</font></b></td>
<td width="50%">
<p align="center"><b><font size="1">Nombre de la nueva tabla:</font></b></td>
</tr>
<tr>
<td width="50%">
<p align="center"><select size="1" name="base_datos">
<option value="BASE.mdb">BASE</option>
<option value="venta.mdb">venta</option>
<option value="galeria.mdb">galeria</option>
<option value="formulari.mdb">formulari</option>
<option value="catalogo.mdb">catalogo</option>
<option value="alquiler.mdb">alquiler</option>
</select></td>
<td width="50%">
<p align="center">
&nbsp;<!--webbot bot="Validation" b-value-required="TRUE" i-minimum-length="1" --><input type="text" name="nom_taula" size="25"></td>
</tr>
<tr>
<td width="98%" colspan="2">
<p align="center">
<input type="submit" value="Crear" name="B3"></td>
</tr>
</table>

</div>

</form>
<p>&nbsp;</p>
<form method="POST" action="<%= AQUIMATEIX%>">
<input type="hidden" name="cmd" value="afegir_camp">

<table border="0" width="100%" id="table1" cellpadding="2" style="border: 1px dotted #C0C0C0">
<tr>
<td colspan="4"><b>Afegir CAMP:</b></td>
</tr>
<tr>
<td align="center"><b><font size="1">Nombre de la base:</font></b></td>
<td align="center"><b><font size="1">Nombre de la tabla existente:</font></b></td>
<td align="center"><b><font size="1">Nombre del nuevo campo:</font></b></td>
<td align="center"><b><font size="1">Tipo de campo:</font></b></td>
</tr>
<tr>
<td align="center"><select size="1" name="base_datos">
<option value="BASE.mdb">BASE</option>
<option value="venta.mdb">venta</option>
<option value="galeria.mdb">galeria</option>
<option value="formulari.mdb">formulari</option>
<option value="catalogo.mdb">catalogo</option>
<option value="alquiler.mdb">alquiler</option>
</select></td>
<td align="center">
&nbsp;<!--webbot bot="Validation" b-value-required="TRUE" i-minimum-length="1" --><input type="text" name="nom_taula" size="25"></td>
<td align="center">
<!--webbot bot="Validation" b-value-required="TRUE" i-minimum-length="1" --><input type="text" name="nom_camp" size="20"></td>
<td align="center"><select size="1" name="tipus_de_camp">
<option value="MEMO">MEMO</option>
<option value="DATETIME">FECHA</option>
<option value="TEXT (225)">TEXTO 255</option>
<option value="INTEGER">NUMERICO</option>
<option value="PRIMARY KEY AUTOINCREMENT">PRIMARY KEY AUTOINCREMENT
</option>
</select></td>
</tr>
<tr>
<td colspan="4">
<p align="center"><input type="submit" value="Crear" name="B4"></td>
</tr>
</table>
</form>
<!-- Fin Explicación HTML -->
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><br>
<!-- Misma pagina pero segnda parte gracias al if que envia cmd -->
<!-- cmd solo determina la funcion aplicara en cada caso -->
<%
ELSE

If cmd= "afegir_taula" Then
'add instruction to update item info
afegir_taula()
ElseIF cmd = "afegir_camp" Then
'add instruction to update item info
afegir_camp()
Else
Response.write ("Error!!")
End If

Function afegir_camp()
' CREAR CAMPO ================================================== ======
nom_taula= trim(Request.Form("nom_taula"))
base_datos=("/fpdb/")&trim(Request.Form("base_datos"))
nom_camp= trim(Request.Form("nom_camp"))
tipus_de_camp= trim(Request.Form("tipus_de_camp"))

dim sql,oConn,strConn
sql ="ALTER TABLE "&nom_taula&" ADD COLUMN "&nom_camp&" "&tipus_de_camp&""
RESPONSE.WRITE sql
' La conexion a la bd se puede simplificar de muchas maneras
'conecta=("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=")
base_datos=("/fpdb/")&trim(Request.Form("base_datos"))
BD=conecta&Server.MapPath("../../")&base_datos&";"
strConn = BD
'Creamos y abrimos la conexion
Set oConn= Server.CreateObject("ADODB.Connection")
oConn.Open strConn
'Ejecutamos la sentencia SQL (modificacion de tabla)
oConn.Execute (sql)
'cerramos y destruimos el objeto
oConn.Close
Set oConn = Nothing

RESPONSE.WRITE ("<BR><BR>... OK!!! ... ")

End Function

Function afegir_taula()
' CREAR TABLA ================================================== ======
nom_taula= trim(Request.Form("nom_taula"))
base_datos=("/fpdb/")&trim(Request.Form("base_datos"))
dim sql,oConn,strConn
sql = "CREATE TABLE "&nom_taula&" "
sql = sql & "(id AUTOINCREMENT PRIMARY KEY)"
BD=conecta&Server.MapPath("../../")&base_datos&";"
strConn = BD
'Creamos y abrimos la conexion
Set oConn= Server.CreateObject("ADODB.Connection")
oConn.Open strConn
'Ejecutamos la sentencia SQL (modificacion de tabla)
oConn.Execute (sql)
'cerramos y destruimos el objeto
oConn.Close
Set oConn = Nothing
RESPONSE.WRITE ("<BR><BR>... OK!!! ... ")
End Function

END IF
%>
</body>
</html>
  #5 (permalink)  
Antiguo 09/10/2005, 13:27
 
Fecha de Ingreso: septiembre-2005
Mensajes: 20
Antigüedad: 19 años, 7 meses
Puntos: 0
la conexion a la base de datos cada cual con su librillo :)
  #6 (permalink)  
Antiguo 10/10/2005, 18:54
Avatar de El_Metallick  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 1.718
Antigüedad: 22 años, 5 meses
Puntos: 16
jajajaj me alegro de que te haya funcionado... saludos
__________________
Haz la guerra en la cama y el amor donde se te de la gana...
El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:42.