在 tcl 数据库中插入值

Inserting values in tcl database

我在 tcl 中向此数据库添加内容时遇到问题:

  set fd [open country.txt]
  set content [read $fd]
  close $fd
  set qcontent [string map {' ''} $content]
  db eval "INSERT INTO t1 VALUES(1,2,'$content')"

仍然没有添加请求的值。

db eval "INSERT INTO t1 VALUES(1,2,'$qcontent')"

应该是要评估的qcontent变量。

您应该使用大括号以避免必须处理单引号:

set fd [open country.txt]
set content [read $fd]
close $fd
db eval {INSERT INTO t1 VALUES(1,2,$content)}

并且由于您不需要转义单引号,因此变量更少,错误也更少。