FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
sintaxis de select case O___o
Buenas a todos recopilando informacion por el foro llegue a la conclusion de que un select case se escribia mas o menos asi:
select case a when 1 then showmessage('1') when 2 then showmessage('2') etc... end pero escribiendo yo: select case tabla1.FieldByName('campo1').AsString when 'eso' then showmessage('eso') when 'lootro' then showmessage('lootro') end me falla y me dice que me falta un ";" en la linea "case tabla1.FieldByName('campo1').AsString" Alguien me podria decir cual seria la sintaxis corecta? Gracias a todos, y que tengais un buen dia... que ya estamos a jueves!! |
#2
|
|||
|
|||
Umm que raro, esa sintaxis no se parece a nada que haya visto en delphi XD. La sintaxis correcta es asi:
Código:
case n of 1: ShowMessage('el uno'); 2: ShowMessage('el dos'); 3: begin ShowMessage('el tres'); ShowMessage('el tres otra vez'); end; end; Última edición por Mick fecha: 21-06-2007 a las 11:57:26. |
#3
|
||||
|
||||
la sentencia original "select case" es del lenguaje SQL, usado por ejemplo dentro de un TQuery (en su propiedad sql), en un procedimiento almacenado / disparador, etc.
Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#4
|
|||
|
|||
xDD con razon no me va.
Con razon me pide punto y comas por todo los sitios xDDD -_-'
Erf eso de saber la logica pero no la sintaxis es lo peor, pero weno al menos esperemos que alguno se haya reido leyendo esta pocas lineas. En fin para volver al tema, me decis que no existe ninguna manera de hacer 1 select case de Strings? tan solo acepta numericos y chars Ams... Eske mi madre ya lo decia, niño pa que te complicas la vida, tu usa las herramientas que ya conozcas... Amos que tendre que volver a poner los ifs xDDD Enga un saludo y gracias, y si a alguien se le ocure como hacer el select case con string que no se corte ---Paz--- |
#5
|
||||
|
||||
Cita:
Pueden ser char, integer y tipos enumerados. Con strings se puede hacer algo... pero en definitiva es un char, por ejemplo:
PD: De reirnos nada, todos nos hemos hecho esta pregunta tarde o temprano . Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#6
|
|||
|
|||
Hay quien prefiere definir una funcion de este estilo para poder utilizar cases:
Código:
function SearchString(const Str:string; const List:array of string): Integer; begin Result:= High(List); while (Result>=0) AND (Str<>List[Result]) do Dec(Result); end; Código:
case SearchString( 'gato', [ 'perro', 'gato' ,'serpiente' ]) of 0: ShowMessage('Es un perro'); 1: ShowMessage('Es un gato'); 2: ShowMessage('Es una serpiente'); -1: ShowMessage('No conozco ese animal'); end; |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Problema conuna consulta select...not in (select ...) | VRO | Firebird e Interbase | 2 | 11-08-2005 08:56:35 |
5 select de 5 tablas diferentes en un select solo | sakuragi | SQL | 6 | 15-06-2005 18:57:06 |
Ejemplo Select Case | osmar | Firebird e Interbase | 4 | 21-02-2005 18:18:57 |
Select anidado: Select from (select....) | Malon | SQL | 2 | 14-10-2004 14:01:24 |
Select anidado ( Select from select ) | Malon | Firebird e Interbase | 1 | 05-10-2004 04:14:38 |
|