Este é o site histórico da documentação 4D. As documentações estão sendo movidas progressivamente para developer.4d.com |
||||||||||||||||||||||||||||
|
4D v20.6
Introdução aos comandos SQL
|
4D Tipo | SQL Tipo |
C_STRING | SQL_C_CHAR |
C_TEXT | SQL_C_CHAR |
C_REAL | SQL_C_DOUBLE |
C_DATE | SQL_C_TYPE_DATE |
C_TIME | SQL_C_TYPE_TIME |
C_BOOLEAN | SQL_C_BIT |
C_INTEGER | SQL_C_SHORT |
C_LONGINT | SQL_C_SLONG |
C_BLOB | SQL_C_BINARY |
C_PICTURE | SQL_C_BINARY |
C_GRAPH | SQL_C_BINARY |
C_OBJECT | SQL_C_BINARY |
4D oferece duas maneiras de inserir expressões 4D (variáveis, arrays, campos, expressões válidas) nas solicitações SQL: a associação direta e a definição de parâmetros utilizando SQL SET PARAMETER.
A associação direta pode ser realizada de duas formas:
* Inserindo o nome do objeto 4D entre os caracteres << e >> no texto da solicitação.
* Antecedendo a referência com dois pontos":".
SQL EXECUTE("INSERT INTO emp (empnum,enome) VALUES (<>,<>)")
&NBSP;SQL EXECUTE("SELECT idade FROM Pessoa WHERE nome= :vNome")
ARRAY TEXT(MeuArrayText;10)
ARRAY LONGINT(MeuArrayInteiroLongo;10)
For(vContador;1;Size of array(MeuArrayText))
MeuArrayText{vContador}:="Text"+String(vContador)
MeuArrayInteiroLongo{vContador}:=vContador
End for
SQL LOGIN("meusql";"root";"")
SQLStmt:="insert into app_testTable (campo_alfa, campo_inteirolongo) VALUES (<>, <>)"
SQL EXECUTE(SQLStmt)
ALL RECORDS([Tabela 2])
&NBSP;SQL LOGIN("mysql";"root";"")
&NBSP;SQLStmt:="insert into app_testTable (campo_alfa, campo_inteirolongo) VALUES (<<[Tabela 2]Campo1>"+">,<<[Tabela2]Campo2>>)"
&NBSP;SQL EXECUTE(SQLStmt)
C_LONGINT($vLong)
C_POINTER($vPonteiro)
$vLong:=1
$vPonteiro:=->$vLong
SQL LOGIN("meusql";"root";"")
SQLStmt:="SELECT Col1 FROM TEST WHERE Col1=:$vPonteiro"
SQL EXECUTE(SQLStmt)
Em modo compilado, pode utilizar referencias de variáveis locais (começando pelo caractere $) em instruções SQL sob certas condições:
SQL EXECUTE("select * from t1 into :$myvar") // funciona em modo compilado
C_TEXT(tRequest)
tRequest:="select * from t1 into :$myvar"
SQL EXECUTE(tRequest) // erro em modo compilado
A recuperação dos valores na linguagem 4D que resulta das consultas SQL é realizada de duas formas:
É possível por diretamente o resultado de uma petição SQL em um list box de tipo array. Esta função oferece um meio rápido de visualizar o resultado de petições SQL. Só podem ser utilizadas as petições de tipo SELECT. Este mecanismo não pode ser utilizado com uma base SQL externa.
Isso funciona de acordo com os seguintes princípios:
Nota: As colunas adicionadas automaticamente estão relacionadas com as de tipo array. Esses arrays temporários permanecem enquanto o formulário existir. Uma variável temporária é criada do mesmo modo para cada título. Quando se chama o comando LISTBOX GET ARRAYS, o parâmetro arrVarCols contém ponteiros (apontadores) aos arrays temporários e o parâmetro arrVarTitulos contém os ponteiros às variáveis de títulos temporários. Se uma coluna adicionada é, por exemplo, a quinta coluna, seu nome é sql_column5 e seu título é sql_header5.
Begin SQL
SELECT * FROM PEOPLE INTO <<vlistbox>>
End SQL
_o_EXPORT ODBC
_o_IMPORT ODBC
Blog: Read 4D object fields with SQL Engine
Produto: 4D
Tema: SQL
Modificado: 4D v17 R5
Manual de linguagem 4D ( 4D v20)
Manual de linguagem 4D ( 4D v20.1)
Manual de linguagem 4D ( 4D v20.2)
Manual de linguagem 4D ( 4D v20.3)
Manual de linguagem 4D ( 4D v20.4)
Manual de linguagem 4D ( 4D v20.5)
Manual de linguagem 4D ( 4D v20.6)