我们的软件安装在土耳其的(客户站点)Window Server 2008 R2 Foundation 上(因此语言环境设置为土耳其语,因此所有菜单和消息都以土耳其语显示)。我们使用的是 SQL Server 2005 Express。数据库排序规则是SQL_Latin1_General_CP1_CI_AI
(与我们安装的其他英文网站一样)。
我们的代码用一个简单的查询查询数据库:select * form tableName where callid='variable'
(callid是我们的主键,但是数据库中的列名是CallID,列类型是varchar(60)
),使用SqlDataAdapter.Fill()
方法来填充我们的untyped DataSet
。
我们DataRow
从 中产生对象DataSet.Tables[0].Rows[0]
。我们将此DataRow
对象传递给其他方法,并使用DataRow.Item (String)来获取列值。我们有几列可以通过这种方式毫无问题地获取它们的值。但是对于一个特定的列,我们得到
ArgumentException: <column name> column does not belong to table Table
本栏目是我们的callid栏目!当我们将数据库中的列名更改为 callid 或 CalliD 时,我们不会收到异常。我看过这篇名为“介绍土耳其语”的文章,据我了解,文章地址是当 collation = TURKISH_CI_AS 时的问题。
我在这里想念什么?我会很感激任何有用的意见。
谢谢,伊兰