2014-11-24 111 views
0

我收到錯誤「DAO.Database [3464]條件表達式中的數據類型不匹配。」嘗試使用未公開的Execute命令更新Enterprise Architect中的t_connector表。 EA正在嘗試不支持EA的Execute SQL功能嗎?Enterprise Architect - 執行SQL問題

我在幹什麼

注:這是一個循環內,以index只是一個int。 connector是一個EA.Connector。

String addTrigger = "UPDATE t_connector SET PDATA1 = " + "'SAMPLE" + index + "'" 
        + " WHERE Connector_ID = " + "'" + connector.ConnectorID + "';"; 

repository.Execute(addTrigger); 

我的猜測

我不知道SQL非常好......我才陷入困境的說法不知何故?

更多信息

前一個問題,我問的是導致我什麼我現在做的: Add Trigger to Transition

+1

我最好的猜測是你的一列有一個你實際上沒有給出的類型。例如,如果一個列包含整數,並且您嘗試插入一個字符串,則可能會出現類似這樣的錯誤。我不知道哪一列導致錯誤,或者哪一種類型不匹配,但我會從那裏開始。 – AdamMc331 2014-11-24 17:01:09

+1

你是完全正確的。菜鳥的錯誤。 ConnectorID需要一個int,而不是一個字符串。 – Avantol13 2014-11-24 17:05:45

+0

當你使用這樣的預處理語句時,會犯一個更容易的錯誤。很高興我能幫上忙。 – AdamMc331 2014-11-24 17:17:11

回答

2

感謝@ McAdam331的評論。事實上,ConnectorID需要一個int,而不是一個字符串。刪除連接器周圍的連接器。連接器ID

String addTrigger = "UPDATE t_connector SET PDATA1 = " + "'SAMPLE" + index + "'" 
        + " WHERE Connector_ID = " + connector.ConnectorID + ";"; 

repository.Execute(addTrigger);