当WHERE子句字段包含空格时,Python中的SQL Server SQL SELECT不工作

2024-10-03 11:19:22 发布

您现在位置:Python中文网/ 问答频道 /正文

enter image description here我有一个名为FieldName的字段。如果字段名为M,则查询工作正常。但是,如果字段名是Big Hill,那么我在Tkinter文本框中不会得到任何结果。不知道如何确定我可以修改其中的哪一个,这样整个结果就不仅仅是第一个单词了。def field_name生成字段名列表。用户选择一个字段名,该字段名在def avg10112中用作WHERE子句。最后,结果通过def insert_AVG10112放入文本框。如果WHERE子句包含如上所述的空格(BigHill vs.Big Hill),则此框将显示None

编辑:我添加了组合框的屏幕截图。单值字段名有效,而其他字段名(Buffalo Valley)无效

def avg10112(self):
    sql=("SELECT FORMAT(AVG([DailyCosts].DailyCost),'#,##0') AVG FROM [DailyCosts] "
         "JOIN [WellConfig] ON DailyCosts.[WellID] = WellConfig.[WellID] "
         "WHERE  [FieldName] = ? AND DailyCost IS NOT NULL AND DailyCosts.AccountCode IN('10112','11103','7108') ")
    self.cursor.execute(sql, [self.field_bx.get()])
    row = self.cursor.fetchall()
    return row

def field_Name(self):
    self.cursor.execute("SELECT DISTINCT FieldName FROM WellConfig ")
    row = self.cursor.fetchall()
    return row


def insert_Avg10112(self):
    self.cost102_avg.delete(1.0, 'end')
    for row in self.avg10102():
        self.cost102_avg.insert ('end', row)

Tags: selffielddefwherecursorrow字段名fieldname