2016-10-10 37 views
0

我在Python程序這暗號查詢:如何在密碼查詢中引入參數?

prevNode = graph_db.data("OPTIONAL MATCH (n:Node) WHERE n.property = {param} RETURN n") 

上面的代碼行給出了這樣的錯誤:

'py2neo.database.status.ClientError: Expected a parameter named param'

參數是在這一點上該程序的明確定義,因爲我打印一個在執行查詢之前執行。

我試圖把該值在查詢,而不是參數,如:

prevNode = graph_db.data("OPTIONAL MATCH (n:Node) WHERE n.property = '1234' RETURN n") 

而且行之有效。

有誰知道錯在哪裏?

在此先感謝。

回答

2

您沒有將任何替換變量傳遞給該函數。

graph_db.data("OPTIONAL MATCH (n:Node) WHERE n.property = {param} RETURN n", param='1234') 

您還可以顯式傳遞locals()字典;這將使用您已定義的適當名稱的任何局部變量:

graph_db.data("OPTIONAL MATCH (n:Node) WHERE n.property = {param} RETURN n", **locals())