Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
列未知火鸟Python_Python_Sql_Python 3.x_Firebird_Firebird2.5 - Fatal编程技术网

列未知火鸟Python

列未知火鸟Python,python,sql,python-3.x,firebird,firebird2.5,Python,Sql,Python 3.x,Firebird,Firebird2.5,我正在尝试使用python和tkinter为firebird数据库制作GUI。当我试图将输入框中的内容写入数据库时,会出现错误 fdb.fbcore.DatabaseError:'准备SQL语句时出错:\n-SQLCODE:-206\n-Dynamic SQL Error\n-SQL Error code=-206\n-Column unknown\n-NUMBER\n-在第1行第99列',-206,335544569 这是提交操作的代码: simnumber=SIM号码 def提交: 函数中的

我正在尝试使用python和tkinter为firebird数据库制作GUI。当我试图将输入框中的内容写入数据库时,会出现错误

fdb.fbcore.DatabaseError:'准备SQL语句时出错:\n-SQLCODE:-206\n-Dynamic SQL Error\n-SQL Error code=-206\n-Column unknown\n-NUMBER\n-在第1行第99列',-206,335544569

这是提交操作的代码:

simnumber=SIM号码 def提交: 函数中的数据库连接 conn=fdb.connect host='localhost',database='C:/SIMCARDS.fdb',user='user',password='password' 光标 cur=conn.cursor 插入表格 cur.executeINSERT进入表编号、simnumber、运算符、类型、费率、数据、状态值:编号、:simnumber、:运算符、:类型、:费率、:数据、:状态;, { “number”:simnumber.get, “simnumber”:cardname.get, “operator”:operator.get, “type”:type.get, “关税”:关税.get, “data”:data.get, “状态”:status.get } 进行更改 康涅狄格州 密切联系 康涅狄格州 清除文本框 simnumber.delete0,结束 cardnumber.0,结束 运算符0,结束 类型0,结束 关税.0,完 data.delete0,结束 状态0,结束
把这个留给任何需要做类似事情的人。问题在于我在VALUES子句的SQL查询中提供的参数。Firebird不知道“:number”是什么。因此,固定查询是:
当前执行插入卡号、SIM卡号码、运营商、类型、费率、数据、状态值?、?、?、?、?、?、?、?,?,?,?,?,?,?;,simnumber.get,cardnumber.get,operator.get,type.get,TARGIN.get,data.get,status.get以及您的表的结构是什么?如果它说没有这样的专栏,你应该相信你的数据库。但我认为原因在于引用的标识符:它们按原样处理,引用的大写名称不等于引用的小写名称。所以我的建议是:去掉每个数据库设计中引用的标识符,以减少错误。谢谢。您是指insert into查询中引用的列名称,对吗?我确实在没有它们的情况下尝试了这个查询,结果是一样的,很不幸。至于数据库中的名称,它们是大写的。对于结构-它只有一个表,其中包含代码中提供的列。表的DDL是什么,请准确地说,使用列号创建的表没有列号,只有编号,而使用编号创建的表没有引号,有列号,编号或编号将匹配,但没有编号,假设在任何情况下,不带引号的对象名称都以大写形式存储,并与以大写形式存储的列相匹配,而带引号的对象名称则按原样存储。如果无法提供表的DDL,请提供从rdb$关系\字段中选择rdb$关系\名称、rdb$字段\名称的结果,其中rdb$关系\名称=;where必须与确切的表名匹配,因此未加引号的表是“table”,而加引号的表是“table”。感谢您的回答,很抱歉回复时间太长。以下是DDL: