C# .NET SQL Server DataAdapter是否返回了错误的字段类型?
我正在使用VisualStudio2010,目标是.NET2.0框架,连接到SQLServer2008。在表格中有一个类型为C# .NET SQL Server DataAdapter是否返回了错误的字段类型?,c#,sql-server,datatable,dataadapter,C#,Sql Server,Datatable,Dataadapter,我正在使用VisualStudio2010,目标是.NET2.0框架,连接到SQLServer2008。在表格中有一个类型为varchar(50)的名为Box\u no的字段。字段的内容主要是数字,有些是空的。允许空值,但没有空值 下面是查询此表并显示在网格中的代码(else省略): 非常严格。问题在于根据ID的值(即搜索从何处开始),字段框_no有时以科学符号-2.4e+显示。。。。等-其他时间显示为文本。表中明确定义为varchar,但数据适配器似乎在创建数据表结构时试图推断不同的字段类型。
varchar(50)
的名为Box\u no
的字段。字段的内容主要是数字,有些是空的。允许空值,但没有空值
下面是查询此表并显示在网格中的代码(else省略):
非常严格。问题在于根据ID的值(即搜索从何处开始),字段
框_no
有时以科学符号-2.4e+显示。。。。等-其他时间显示为文本。表中明确定义为varchar
,但数据适配器似乎在创建数据表结构时试图推断不同的字段类型。是否有办法告诉它不要这样做?在将其分配给数据源之前,请尝试这样做
dtRaw.Columns["box_no"].DataType = typeof(string);
很抱歉,我们发现了这个问题——科学符号实际上存在于数据本身中——这是从XLS电子表格导入的,它似乎在700K记录中的69K记录上造成了这一问题。谢谢您的datagridview列是自动生成的还是手动添加的?不要这样连接sql字符串,即使是数字字段。有很多方法可以将我想要的任何字符串填充到您的numericUpDown1值中,这样我就可以完全接管您的数据库。此外,如果rbRestrictCount未选中,您的示例看起来会引发异常。Autogenerated。Joel谢谢你的关心,但我知道我在做什么。Joel-正如我在最初的帖子中所说的,我没有显示else-如果这就是所有的代码,它不会抛出异常-它不会编译。
dtRaw.Columns["box_no"].DataType = typeof(string);