我试图用INTEGER脚本特性在SQLite Studio中填充SQLite表的两个SQLiteStudio字段。表本身是m✕n矩形矩阵的表示,其中这两个字段表示元素的索引。
CREATE TABLE matrix ( i INTEGER NOT NULL, j INTEGER NOT NULL, e REAL );我尝试用以下脚本为第一个字段重新创建一个代理循环:
set i 0; #Initialization codeset i [expr {$i==100?1:$i+1}]; #Per step code第二个剧本是:
set j 0; #Initialization codeset j [expr {$i==100?$j+1:$j}]; #Per step code当第一个脚本通常填充字段i时,第二个脚本显示Error while executing populating code: can't read "i": no such variable错误消息,j字段填充null值。
是否有任何方法以这种方式使用SQLiteStudio的人口机制(即从另一个字段的填充Tcl脚本的范围访问字段的新值)?
备注
最后的解决方案如下:
#1st script initialization code
set n_i 10
set i 0#1st script per step code
set i [expr {$i%$n_i==0?1:$i+1}]#2nd script initialization code
set n_i 10
set i 0
set j 1#2nd script per step code
set i [expr {$i%$n_i==0?1:$i+1}]
set j [expr {$i%$n_i==0?$j+1:$j}]看起来,填充Tcl脚本实际上并不关心变量命名,而只是使用最后一个set变量的值来填充给定行的字段。
发布于 2016-01-30 20:37:40
您不能在两个脚本之间共享变量来填充两个不同的列(尽管这是一个很好的想法),但是在您的示例中,您应该可以从第一列(带有i的一列)复制脚本,并将其粘贴到当前的j代码之前。当然,您将计算i两次,但它应该可以完成任务。
https://stackoverflow.com/questions/35104625
复制相似问题