我正在尝试使用命令行参数连接到数据库,但是在执行“2”时我得到了无效的命令名“2”
我已经搜索了很多,找不到任何解决方案......这是我的代码
package require tdbc::mysql
tdbc::mysql::connection create db1 -database $argv[2] -user $argv[3] -password $argv[4]
db1 allrows {create table Grades (TNumber char(8), CourseID char(7), Grade char(1, foreign key(TNumber) references Students(TNumber))}
set s [db prepare
{
INSERT into Grades values (00003256,CSC4300,A)
}]
set s [db prepare
{
INSERT into Grades values (00012345,CSC2110,D)
}]
set s [db prepare
{
INSERT into Grades values (00012345,CSC2110,D)
}]
set s [db prepare
{
INSERT into Grades values (00001423,BIO1010,D)
}]
set s [db prepare
{
INSERT into Grades values (00015366,CSC2110,C)
}]
set s [db prepare
{
INSERT into Grades values (00003256,CSC4100,A)
}]
set s [db prepare
{
INSERT into Grades values (00003256,CSC2110,A)
}]
db1 close
编辑:
尝试在第一个 db allrows 行运行修改后的代码时出现错误:
if{[catch {
package require tdbc::mysql
tdbc::mysql::connection create db -user [lindex $argv 2] -db [lindex $argv 1] -password [lindex $argv 3]
db allrows {create table Grades (TNumber char(8), CourseID char(7), Grade char(1, foreign key(TNumber) references Students(TNumber))}
db allrows {db prepare {INSERT into Grades values ('00003256','CSC4300','A')}}
mysqlclose $s
} res]} {
puts $res
}
这是错误:
coursework@coursework:~/Desktop$ tclsh p4.tcl localhost students root coursework
invalid command name "if{1}"
while executing
"if{[catch {
package require tdbc::mysql
tdbc::mysql::connection create db -user [lindex $argv 2] -db [lindex $argv 1] -password [lindex $argv 3]
db a..."
(file "p4.tcl" line 1)
我真的不知道 tcl,这只是一个在拥挤的情况下的一次性项目!感谢所有的帮助!