列[X]不属于表服务器错误 - 为什么?

Ned*_*Ned 1 c# mysql sql-server asp.net sql-server-2008

我一直在使用相同的一行代码将数据库中的特定字段保存到变量中.

variable = Convert.ToType(dt.Rows[0]["[Column Name]"]);
Run Code Online (Sandbox Code Playgroud)

问题是我得到这个恼人的列不存在服务器错误.对于不同的表和不同的字段,sql查询就像"Select*From Table"一样简单.我已经无数次检查过列名是否正确,我尝试使用列名中的空格而没有 - 似乎没有任何帮助.

知道是什么导致了这个以及如何解决它?这是堆栈跟踪:

[ArgumentException: Column '[Long MSDS Update]' does not belong to table Table.]
System.Data.DataRow.GetDataColumn(String columnName) +5253191
System.Data.DataRow.get_Item(String columnName) +13
SiteMaster.msds_update() in
c:\Users\nravid\Desktop\School\Project\PhillipsSite\Site.master.cs:198
SiteMaster.master_Page_PreLoad(Object sender, EventArgs e) in c:\Users\nravid\Desktop\School\Project\PhillipsSite\Site.master.cs:92
System.EventHandler.Invoke(Object sender, EventArgs e) +0
System.Web.UI.Page.OnPreLoad(EventArgs e) +121
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +699
Run Code Online (Sandbox Code Playgroud)

谢谢.

cod*_*biz 5

您收到此错误是因为您包含括号[].删除方括号,它应该工作

使用

dt.Rows[0]["Column Name"]
Run Code Online (Sandbox Code Playgroud)

代替

dt.Rows[0]["[Column Name]"]
Run Code Online (Sandbox Code Playgroud)

在你的情况下

dt.Rows[0]["Long MSDS Update"]
Run Code Online (Sandbox Code Playgroud)

  • 该死的!该死的该死的该死的DAMN.:) :) +1 (2认同)