2014-11-24 78 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);