奇怪的问题请教各位前辈:
我MVC2网站里面用Entity强类型视图写入、更新数据库表记录, 但只要是数据库表列名中含有“country”字样的字段都没法写入数据、也没法更新数据!
而不含“country”字样其他列都正常!
所用系统是server2008 + MSsql2008 + .net4.0 + MVC2 + Entity framwork
country难道是哪一项保留字吗? sql2008的?.net的?还是Entity framwork的?为什么名含有country的都无法写入?
折腾了两天了还是没结果, 请各位前辈解答一下! 不甚感激!
通常这种问题我叫它们为程序员的愚蠢错误,拼错单词或是啥的,找也找不到。
但是最简单证伪的方式就是,随便新建一个数据表,建一个最简单的测试项目,你就知道肯定是哪儿出错了。
当然,DUDU说的基本上是找到错误的一个方法。不过程序员通常对于自己造成的错误会视而不见的。
好,我在认真检查一遍
感谢爱编程大叔提示,我跳出牛角尖,新建一个简单项目测试没问题,不过原来的项目我检查过了确实没有拼写错误,我删掉原来自动生成的模型,重新生成了一遍OK了,生成的模型应该也不会有拼写错误啊,不知道怎么回事,反正是重新生成了一次好了
建议用SQL Profiler看一下实际执行的SQL语句
好,我试一下,
感谢 da dudu 的建议,用SQL Profiler看了一下,证明不是数据库方面的问题!
肯定不是,再说还是列名中包含Country。还得你自己调试,除非你把源代码放出来。
我照各位的建议过一遍,还有问题的话我吧源码贴出来
为什么名含有country的都无法写入?
你这句话,在我的理解能力下可以得出这样的结论:
1、在 Sql Server 2008 中创建一张名称为 MyTable 的表;
2、在 MyTable 中添加 country_1、country_2、country_3、.... country_n 列;
3、对上述字段执行 insert 或 update 都会失败。
是的
@iwebfans: 你的数据库很奇怪,我在我的机器上测试了下,没有任何问题。
@Launcher: 感谢Launcher实际测试,我后来也另建做了一遍确实没问题
哈哈,你会发现是一个字符错了...