【问题标题】:A field or property with the name [database column] was not found on the selected data source在所选数据源上找不到名称为 [数据库列] 的字段或属性
【发布时间】:2014-03-12 17:35:10
【问题描述】:

我在 Visual Studio 2010 中编程时遇到这个奇怪的错误。我在 SQL Server 中有一个名为“tag_id”的列。它是我的表的主键。如果我尝试在 Visual Studio 中的任何引用中使用“tag_id”,则应该是这样的

<asp:BoundField  DataField="tag_id" HeaderText="Current Tags"/>

或者这个

string sql = "INSERT INTO [tag_names] ([tag_id], [name], [created_by], [created_date]) VALUES ('{0}','{1}', '{2}', GETDATE())";

我在任何地方使用它。根据使用情况,我会遇到各种不同的错误,但要点是它告诉我列 tag_id 不存在。但确实如此!让此代码工作的唯一方法是我从 SQL Server 复制“tag_id”,即字面意思“tag_id”并将其粘贴到 Visual Studio 中。虽然拼写完全相同,但除非我从 SQL Server 复制并粘贴它,否则它不会起作用。此外,如果我从 Visual Studio 复制并粘贴一个查询并将其放入 SQL Server,它会说找不到“tag_id”。就好像 Visual Studio 中的文本不适用于此列。如果我只输入名称,我对所有其他列都没有问题。

有人见过吗?

更新:

阅读 Gordon 和 Grantly 的建议后,我尝试检查下划线。对于那一列,当我将“tag_id”从 Visual Studio 复制并粘贴到记事本 ++ 时,它显示为“tag_id”。当我从 SQL Server 复制并粘贴“tag_id”时,它会显示为“tagUS_id”。即使我将它粘贴在这里,它也只是说“tag_id”,我必须手动添加“US”。但在记事本++中,它说“标签”,然后没有空格,字母“US”以黑色突出显示,然后是“id”。

这仅发生在此列中。其他带下划线的列工作正常。其他主键工作正常,其他外键工作正常。嗯?

【问题讨论】:

  • 如果我不得不猜测,下划线可能不同。有短下划线和长下划线的例子。不过,我必须承认,我只看到过连字符的这个问题。

标签: c# sql sql-server visual-studio-2010


【解决方案1】:

我同意 Gordon Linoff 的观点,即下划线的实际 ASCII / Unicode 代码由于某种原因而不同。尝试在文本文件(可能已经存在)中捕获 VS 2010 行,并将您的 SQL 查询保存到文件中。然后比较 tag_id 中所有字符(尤其是下划线)的 ASCII / Unicode 值,您应该发现差异。如果它是正常的 ASCII,它的十六进制值可能是 5F,但你可能确实在 Visual Studio 中无意中使用了 Unicode。

http://msdn.microsoft.com/en-us/library/xwy0e8f2%28v=vs.100%29.aspx

在 Visual Studio 中的文本编辑器常规下有一个选项 - 自动检测没有签名的 UTF-8 编码,这可能会也可能不会导致这些差异。

有关下划线的替代 Unicode 字符,请参见此处的另请参阅部分: http://www.fileformat.info/info/unicode/char/5f/index.htm.

(我会简单地发表评论,但没有足够的声誉)

注意:Notepad++ 是免费且易于使用的,使用 TextFX 转换功能可以显示转换为各种形式的文本(HEX 32 会很有用)。我更喜欢VEdit

希望对你有帮助

【讨论】:

    【解决方案2】:

    这不是最好的解决方案,但在研究了许多选项后,我无法找到问题的根本原因。我刚刚删除了 Microsoft SQL Server 中的表并重新创建了它。之后,一切都按预期进行。

    【讨论】:

      猜你喜欢
      • 2014-07-15
      • 1970-01-01
      • 2016-10-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-20
      相关资源
      最近更新 更多