通过具有 Apptaulous 扩展的 ColdFusion 9 使用 Flex 4 插入新记录时出错
我在使用 Flex 4 和 Coldfusion 9 时遇到了一些问题。我希望您能告诉我需要解决哪些问题。
我使用托管在我的开发机器上的 Coldfusion 9。
- 我在 MySQL 数据库中创建了一个包含 2 列的表:
idPlayer
作为整数并自动递增。第二列是名称
。 - 我使用 ColdFusion Builder Apptaulous 为我生成可靠的 CFC 服务。它在此处生成
PlayerService.cfc
。 - 现在,我使用 Flash Builder 4 的数据向导从
PlayerService.cfc
生成数据服务类。我在该服务的update
方法上创建了一个表单。 好的,现在看看生成的代码。
// 如果播放器启用了数据管理并且使用更新作为创建函数,请取消注释以下行。
// var player:Player = new Player();
所以我取消了代码的注释并运行了表单。填写数据后,点击更新,弹出窗口如下:
无法调用 CFC - 字段“idPlayer”没有默认值 有关详细信息,请在 ColdFusion Administrator 中打开“Robust Exception Information”
所以我不知道 Apptaulous 如何生成代码以作为 ORM 工作。但它应该有某种方法或解决方法让系统在 idPlayer 没有默认值的情况下插入其他列并生成 idPlayer 作为自动增量值(正如我在 MySQL 中设置的那样)。
你能帮我解决这个问题吗?
I have a little problem with using Flex 4 with Coldfusion 9. I hope you can tell me what I have to fix.
I use Coldfusion 9, hosted on my development machine.
- I created a table in MySQL database with 2 columns:
idPlayer
as integer and auto increment. 2nd column isName
. - I use a ColdFusion Builder, Apptacular, to generate solid CFC service for me. It generates
PlayerService.cfc
here. - Now I use Flash Builder 4's data wizard to generate data service class from
PlayerService.cfc
. I create a form onupdate
method of that service. Ok, now look at the generated code.
// Please uncomment the below line if Data Management is enabled for Player and update is used as the create function.
// var player:Player = new Player();
So I uncommented the code and run the form. After fill the data, and click update, the pop up appear like this:
Unable to invoke CFC - Field 'idPlayer' doesn't have a default value
For details, turn on Robust Exception Information in the ColdFusion Administrator
So I don't know how Apptacular generate the code to work as ORM. But it should have some way or workaround to let the system act with idPlayer has no default value to insert other columns and generate idPlayer as auto-increment value (as I set in MySQL).
Could you help me solve this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我不知道你的 Player.cfc 是什么样的(这就是错误实际发生的地方),但是你需要设置 id 属性的生成器属性,让 Hibernate 知道数据库应该处理这个问题为你。如果您尝试通过 ColdFusion 保存对象,您很可能会遇到完全相同的错误,因此首先使用 CF 测试您的服务,然后转移到 Flash,以便您知道问题是否确实与 Flex 集成有关,或者与您的 Flex 集成有关。 CF应用程序。
I don't know what your Player.cfc looks like (that's where the error is actually happening), but you'll need to set the generator attribute of the id property to let Hibernate know that the database is supposed to take care of that for you. You'll most likely have the exact same error if you tried to save the object via ColdFusion, so test your Service using CF first, and then move onto Flash so that you know if your issue is really with your Flex integration, or with your CF app.