0

Pypyodbc を使用してネットワーク パスを文字列値として挿入しようとしています。

    def insert_new_result(self, low, medium, high, reportpath):
    reportpath = "'" + reportpath + "'"
    self.insertsql = (
        """INSERT INTO [dbo].[Results] ([low],[medium], [high], [date]) VALUES
        ({low},{medium},{high}, GETDATE(),{reportpath})"""
        .format(low=low, medium=medium, high=high, reportpath=reportpath))
    self.conection.cursor().execute(self.insertsql).commit()

これはに評価されています

'INSERT INTO [dbo].[Results] ([low],[medium], [high], [date]) VALUES
            (0,2,2, GETDATE(),\\'\\\\share\\dev-temp\\report_10b29ef6-7436-11e6-ab96-534e57000000.html\\')'

共有パスの先頭に余分な一重引用符があり、無効な SQL エラーが発生していることに注意してください。.format() のようないくつかのことを試しましたが、文字列を作成してエスケープしましたが、最初の \\ の後に一重引用符が含まれ続けています。

self.insertsql を評価するにはどうすればよいですか

'INSERT INTO [dbo].[Results] 
     ([low],[medium], [high], [date]) 
 VALUES 
     (0,2,2, GETDATE(),'\\\\share\dev-temp\report_10b29ef6-7436-11e6-ab96-534e57000000.html\')'
4

1 に答える 1