[Resolvido] Dúvida Macro sc_lookup e sc_select - Versão 9.4.011

pessoal estou tentando usar o código abaixo em uma aplicação blank

sc_select(meus_dados, “select descricao from produto” );
if ({meus_dados} === false)
{
echo "Erro de acesso. Mensagem = ";
}
else
{
while (!$meus_dados->EOF){
echo $meus_dados->fields[0];
$meus_dados->MoveNext();
}
$meus_dados->Close();
}

Na Hora que mando execultar recebo o seguinte erro
2 = Invalid argument supplied for foreach()
C:\Program Files\NetMake\v9\wwwroot\scriptcase\devel\lib\php\database.inc.php 2329

erro também acontece se uso sc_lookup ao invés de sc_select

Olá…
Uma sugestão…

var_dump($a == 5);       // comparação de valores; retorna true
var_dump($a == '5');     // comparação de valores (ignorando os tipos); retorna true
var_dump($a === 5);      // comparação de tipos e valores (integer vs. integer); retorna true
var_dump($a === '5');    // comparação de tipos e valores (integer vs. string); retorna false

Obrigado por responder, mais o problema não é a forma que estou fazendo as comparações (e neste exemplo usei a forma que se encontra no manual do scriptcase)

o problema é na macro sc_select e sc_lookup, testa ai no seu scriptcase este código que mandei que você perceberá que ele não compila e logo não execulta

Vs 9.04.010 esta Funcionando… mesmo código que postou, só mudando campo e nome de tabela

echo "<hr>SELECT<br>";
sc_select(meus_dados, "select data1 from teste" );
if ({meus_dados} === false)
{
echo "Erro de acesso. Mensagem = ";
}
else
{
while (!$meus_dados->EOF){
echo "<br>".$meus_dados->fields[0];
$meus_dados->MoveNext();
}
$meus_dados->Close();
}

echo "<hr>LOOCKUP<br>";

sc_lookup(tst, "select data1 from teste");
echo "{$tst[0][0]}";
1 Curtida

Testei aqui na 9.4.011, esta normal

Cria uma blank NOVA, cola este código, verifica se a tabela e campos estão corretos e testa:

/* Macro sc_select */

$sql ="
SELECT
    descricao
FROM
    produto
";

sc_select(meus_dados, $sql);

/* Erro no select */
if ({meus_dados} === false) {
     // Sua Base + _erro
	 sc_error_message("Ocorreu um erro no acesso ao<BR>banco de dados: {meus_dados_erro}.<BR>");
}
else {

	 /* Inclua aqui sua rotina de processamento */

	 // Qtde de Registros Retornados.
	 $QtdeRegistros=$meus_dados->RecordCount();

     if ($meus_dados->EOF) {

         sc_error_message("Nenhum valor foi retornado pelo banco.<BR>");	 
	 
	 } else {

		 while (!$meus_dados->EOF) {
		 
				$_Descricao = $meus_dados->fields[0]; // ou $meus_dados->fields['descricao']
				
				echo 'Descrição = '.$_Descricao."<BR>";
				
				// Avança para o próximo registro do BANCO DE DADOS.
				$meus_dados->MoveNext();
				
		 } // while (!$meus_dados->EOF)
	 
	 } // if ($meus_dados->EOF)	 
	 
	 // Limpa tudo até a conexão
	 $meus_dados->Close();

}  // sc_select(meus_dados,
3 Curtidas

Com a variável ($sql) recebendo a string de consulta deu certo

muito obrigado, problema resolvido

Favor editar o Post o Título e colocar antes ‘[Resolvido]’