大家好,
我创建了一个脚本,它从 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 函数来运行第二个脚本。
我的问题是,当我尝试运行它时,第二个脚本没有检测到在第一个脚本中创建的数据表,我收到如下错误:
Name Unresolved: dt in access or evaluation of 'dt' , dt/*###*/
有什么方法可以让我的第二个脚本检测在第一个脚本中创建的数据表?
难道不是因为你在做
dt << New Column( "X", Formula( Random Uniform() ) );
代替
dtFROMSQL << New Column( "X", Formula( Random Uniform() ) );
dt 在您的顶级脚本中不存在。
第一个脚本声明所有变量都在 Here 空间中,仅对该脚本本地。 第二个脚本使用了一个同名的变量,但它不是同一个变量。 它要么是同名的全局变量,要么是在第二个脚本的 Here 名称空间中定义的另一个变量。
此外,您定义了当前数据表,但没有定义存储在变量 dt 中的值。