Enterprise Architect - 执行SQL问题
问题描述:
我收到错误“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
答
感谢@ McAdam331的评论。事实上,ConnectorID需要一个int,而不是一个字符串。删除连接器周围的连接器。连接器ID
String addTrigger = "UPDATE t_connector SET PDATA1 = " + "'SAMPLE" + index + "'"
+ " WHERE Connector_ID = " + connector.ConnectorID + ";";
repository.Execute(addTrigger);
我最好的猜测是你的一列有一个你实际上没有给出的类型。例如,如果一个列包含整数,并且您尝试插入一个字符串,则可能会出现类似这样的错误。我不知道哪一列导致错误,或者哪一种类型不匹配,但我会从那里开始。 – AdamMc331 2014-11-24 17:01:09
你是完全正确的。菜鸟的错误。 ConnectorID需要一个int,而不是一个字符串。 – Avantol13 2014-11-24 17:05:45
当你使用这样的预处理语句时,会犯一个更容易的错误。很高兴我能帮上忙。 – AdamMc331 2014-11-24 17:17:11