大家好,
我創建了一個從 SQL 中提取資料並創建資料表的腳本,如下所示:
Names Default To Here( 1 );
dtFROMSQL = Execute SQL(
databaseConnectionHandle,
"SELECT HEIGHT, WEIGHT FROM Bigclass",
"NewTable"
);<BR />Include(filepathforsecondscript.jsl);
然後我的個人資料夾中有另一個腳本,它會向資料表添加一列:
Current Data Table( dtFROMSQL );
dt << New Column( "X", Formula( Random Uniform() ) );
我在第一個腳本中使用 Include 函數來運行第二個腳本。
我的問題是,當我嘗試運行它時,第二個腳本沒有檢測到第一個腳本中創建的數據表,我收到以下錯誤:
名稱未解析:存取或評估 'dt' 中的 dt,dt/*###*/
有什麼辦法讓我的第二個腳本檢測第一個腳本中建立的資料表?
第一個腳本將所有變數宣告在 Here 空間中,僅對於該腳本是本地的。 第二個腳本使用同名的變量,但它不是同一個變數。 它可以是同名的全域變量,也可以是在第二個腳本的 Here 名稱空間中定義的另一個變數。
另外,您定義了目前資料表,但沒有定義變數 dt 中儲存的值。
難道不是因為你在做
dt << New Column( "X", Formula( Random Uniform() ) );
代替
dtFROMSQL << New Column( "X", Formula( Random Uniform() ) );
dt 不存在於您的頂級腳本中。