Qualche esperto può controllare il mio script jsl?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ho provato a scrivere un semplice script jsl per estrarre dati da un database SQL con una funzionalità per selezionare i dati da un intervallo di tempo impostato. Tuttavia, dopo aver controllato da un paio di volte non riesco ancora a scoprire l'errore. Il debugger degli script dice: [Microsoft] [Driver ODBC SQL Server] [SQL Server] Virgolette uncluse dopo la stringa di caratteri ''.
Qualcuno potrebbe aiutarmi a controllare dove è sbagliato nel mio script?
// Questo script viene scritto per estrarre i dati in un determinato intervallo di tempo
start_time _ = "02/23/2015 12:00:00 AM";
end_time _ = "24/02/2015 12:00:00 PM";
Open Database ("DSN =; Descrizione =; UID =; PWD =; APP = JMP; WSID =; DATABASE =",
"SELEZIONA * DA dbo.WORKWEEK
WHERE ((dCreated> = '", start_time,"')
AND (dCreated <= '", end_time,"'))
ORDINE DI dCreated ",
"Tabella aggiornata"
)
dCreated è la colonna del database utilizzata per fornire informazioni sull'ora. È un tipo di dati numerici, un tipo di modellazione continua e il formato è già impostato su m / g / a / h: m: s
Grazie molto,
Ri: Potrebbe qualche esperto controllare il mio script jsl?C Hales è corretto - le due tecniche sono complementari. Puoi usare evalinsert con variabili circondate da caratteri ^ per ottenere lo stesso effetto della concatenazione di stringhe. Ma non sono la stessa cosa
Mi piace usare evalinsert perché dà un aspetto più pulito al codice, in cui è necessario inserire variabili in una stringa.
Ri: Potrebbe qualche esperto controllare il mio script jsl? Elenchi ed espressioni fa parte dell'aiuto online per JSL; c'è anche un set di esempi integrato in Help-> Scripting Index, sebbene questo particolare esempio non sia molto dettagliato. Aiuto-> Libri-> Guida allo scripting è il libro in formato pdf sul tuo computer e ha un esempio migliore.
Direi che le due tecniche sono complementari e, in questo caso particolare, EvalInsert potrebbe rendere più semplice la comprensione del tuo JSL. Realizzano la stessa cosa, in modi molto diversi.
Ri: Potrebbe qualche esperto controllare il mio script jsl?Ciao PMroz,
Fa il EVALINSERT con la stessa funzionalità / significato di "||?
Significa ^ uguale "||?
Grazie,
Ri: Potrebbe qualche esperto controllare il mio script jsl?Io uso EVALINSERT per un aspetto più pulito per l'istruzione sql. Per usarlo, racchiudi tutte le variabili che vuoi valutare in ^ caratteri.
// Questo script viene scritto per estrarre i dati in un determinato intervallo di tempo
orario di inizio_ = "23/02/2015 12:00:00" ;
fine del tempo_ = "24/02/2015 12:00:00 PM" ;
sql_statement = evalinsert (
"SELEZIONA * DA dbo.WORKWEEK
DOVE dCreated> = '^ start_time_ ^'
AND dCreated <= '^ end_time_ ^'
ORDINE DI dCreated " ) ;
Apri database (
"DSN =; Description =; UID =; PWD =; APP = JMP; WSID =; DATABASE =" ,
sql_statement ,
"Tabella aggiornata"
) ;
Ri: Potrebbe qualche esperto controllare il mio script jsl?Grazie mille Craige
Ri: Potrebbe qualche esperto controllare il mio script jsl? "SELEZIONA * DA dbo.WORKWEEK
WHERE ((dCreated> = '"|| start_time_ ||"')
AND (dCreated <= '"|| end_time_ ||"'))
ORDINE DI dCreated "
/ *:
"SELEZIONA * DA dbo.WORKWEEK
WHERE ((dCreated> = '02/23/2015 12:00:00 AM')
AND (dCreated <= '24/02/2015 12:00:00 PM'))
ORDINE DI dCreated "
usare || per la concatenazione di stringhe in JSL. Ho aggiunto lo spazio tra l'apostrofo e le virgolette solo per poterle vedere meglio, è necessario rimuoverlo molto probabilmente.