我所经历的是非常奇怪的。我有Control
与List<T>
绑定。此列表包含object
s Obj
。 Obj
现在已基本定义:
public class Obj
{
public string Name {get;set;}
public int ID {get;set;}
}
问题代码是:
try
{
//this next line *always* throws
//ORA-0933: SQL Command not properly ended
this.rddlControl.DataSource = People.List(load);
}
catch (Exception ex)
{
if (System.Diagnostics.Debugger.IsAttached)
System.Diagnostics.Debug.WriteLine(ex.Message);
throw;
}
如果People.List(Obj filterObj)
只是数据库搜索的别名,这将是直截了当的,但它不是。当然,我已经逐步完成了代码,发现了让我疯狂的一点; People.List
正在成功构建其List并返回它而没有错误。为了确定,我尝试声明使用新List初始化的第二个List:
List<Obj> myList = new List<Obj>();
myList = People.List(load);
this.rddlControl.DataSource = myList;
甚至
List<Obj> myList = new List<Obj>();
myList = People.List(load);
List<Obj> anotherList = new List<Obj>();
anotherList.AddRange(myList.ToArray());
this.rddlControl.DataSource = anotherList;
People.List
一致返回一个List。分配数据源时只会出现错误。我不知道我必须丢失什么;列表中没有nulls
,nulls
内容的Property
中没有ItemArray
。我已经清理并构建了两次,甚至使用Windows资源管理器清除了内置版本,只是为了确保VS的调试器没有突出显示错误的行。即使构建列表中的对象的函数本身也使用当前在生产环境中使用的存储过程而没有错误,并且查看所涉及的调用的string
版本没有格式错误SQL
或流浪的分号或任何东西。任何人都可以告诉我为什么世界上我在这个绑定步骤中从数据库中得到错误?