我使用Excel作为用户在sqlserver表中创建、删除和更新条目的表单。然后我通过一个数据帧将这个输入带到Python中,并创建一个SQL字符串。然后通过pyodbc游标执行它。例如,下面是如何获得有效的功能更新查询。你知道吗
ParamstoPass=len(ClassCheckMark.columns)
L_Cols=list()
L_Vals=list()
tableName=ClassCheckMark[ClassCheckMark.columns[1]][0]
SQL_Query='update ' + tableName + ' set '
for i in range(2, ParamstoPass):
L_Cols.append(ClassCheckMark[ClassCheckMark.columns[i]].name)
L_Vals.append(ClassCheckMark[ClassCheckMark.columns[i]][0])
for i in range(1, len(L_Cols)):
SQL_Query=SQL_Query+'[' + L_Cols[i] +']=' +"'" + str(L_Vals[i]) +"', "
SQL_Query=SQL_Query[:-2]+' where ID=' + "'" + str(L_Vals[0]) +"'"
cursor.execute(SQL_Query)
cnn.commit()
cnn.close()
但我知道用户可以在Excel中输入一些不需要的字符,然后将其输入到查询中。你知道吗
那么在python中验证SQL字符串的最佳方法是什么呢?我应该查找像“\”、“\0”、“\n”、“\r”、“'”、“'”、“\x1a”这样的特定字符吗?或者,实现这一目标的最佳行业方法是什么?你知道吗
我意识到,一般来说,这不是实现用户与数据库交互的最佳方法,但由于各种限制,我将采用这种方法。你知道吗
谢谢你。你知道吗
在构建
L_Cols
和L_Vals
列表之后,我建议根据表元数据验证列名,构造一个参数化SQL命令,然后执行它。例如:相关问题 更多 >
编程相关推荐