Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/71.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
Sql pyodbc.ProgrammingError:(';42000';_Sql_Pyodbc - Fatal编程技术网

Sql pyodbc.ProgrammingError:(';42000';

Sql pyodbc.ProgrammingError:(';42000';,sql,pyodbc,Sql,Pyodbc,我正在编写一个python代码,它将一些非零值从excel工作表传输到SQL数据库表 data = pd.read_excel('D:\\Python code\\srch_mtx.xlsx', index_col=0) print(data) for m in range(len(data)+1): df_col = list(data.iloc[m][data.iloc[m] > 0].index) print(df_col) df_val = list(da

我正在编写一个python代码,它将一些非零值从excel工作表传输到SQL数据库表

data = pd.read_excel('D:\\Python code\\srch_mtx.xlsx', index_col=0)
print(data)

for m in range(len(data)+1):
    df_col = list(data.iloc[m][data.iloc[m] > 0].index)
    print(df_col)
    df_val = list(data.iloc[m][data.iloc[m] > 0])
    print(df_val)

    # read database
    conn = pyodbc.connect('driver={SQL Server}; server=NISHANTDHANORE\\SQLEXPRESS; database=search_matrix;'
                          'Trusted_Connection=yes;')

    cursor = conn.cursor()
    cursor.execute('SELECT*FROM search_matrix.dbo.blank')

    for x, y in enumerate(df_col):
        print(y)
        print(df_val[x])
        query = """UPDATE search_matrix.dbo.blank SET {} = {} WHERE F1='page348'""".format(y, df_val[x])
        cursor.execute(query)
        conn.commit()
虽然“y”的大多数值是字母字符串,但当“y”的值达到数值40时,程序会抛出如下编程错误

    Traceback (most recent call last):
  File "D:/SQL db connection/table_fill_v3.py", line 25, in <module>
    cursor.execute(query)
pyodbc.ProgrammingError: ('42000', "[42000] [Microsoft][ODBC SQL Server Driver][SQL Server]Incorrect syntax near '40'. (102) (SQLExecDirectW)")
回溯(最近一次呼叫最后一次):
文件“D:/SQL db connection/table_fill_v3.py”,第25行,in
cursor.execute(查询)
pyodbc.ProgrammingError:('42000',“[42000][Microsoft][ODBC SQL Server驱动程序][SQL Server]在'40'附近的语法不正确。(102)(SQLExecDirectW)”)
有谁能帮我解决这个问题吗?提前谢谢

请阅读,这说明代码应该在3个反勾之间,而不是3个单引号之间。