在使用SQLServer数据写入操作的时候需要有正确的sql语句才可以执行,今天在执行写入操作的时候报错:
not all arguments converted during string formatting
错误意思是说:在写入的时候不是所有的参数都完成了字符串格式转化
可能直接理解不知道错误在哪里,其实查看自己的SQL语句就会明白了,如下:
insert_sql="INSERT INTO %s (id,flag,time,text,name,place) \
VALUES ('%s','%s','%s','%s','%s')" % (table,one[0],one[1],one[2],one[3],one[4],one[5])
上面的错误是由于“%s”格式化的数量与自己实际传入的参数数量不一致造成的,修改成如下语句即可:
insert_sql="INSERT INTO %s (id,flag,time,text,name,place) \
VALUES ('%s','%s','%s','%s','%s','%s')" % (table,one[0],one[1],one[2],one[3],one[4],one[5])
对上面的语句简单解释如下:
id、flag、time、text、name和place是数据库中对应数据字段的字段名称
“%s”是参数的格式化形式
table,one[0],one[1],one[2],one[3],one[4],one[5]是自己实际传入的参数
这三者需要在数量和格式上保持一致才行