我正在使用面向 .Net 2.0 框架的 Visual Studio 2010,连接到 SQL Server 2008。在表中有一个名为Box_no
typevarchar(50)
的字段。该字段的内容主要是数字,有些是空的。允许空值,但没有空值。
这是查询此表并显示在网格中的代码(省略 else):
DataTable dtRaw = new DataTable();
SqlDataAdapter sdaRaw;
if (rbRestrictCount.Checked)
{
sdaRaw = new SqlDataAdapter("Select top 50 * from MyTable where ID >= \'" + numericUpDown1.Value + "\' Order By ID",
Properties.Settings.Default.ConnStr);
};
sdaRaw.Fill(dtRaw);
dataGridView1.DataSource = dtRaw;
相当直截了当。问题在于 ID 的值(即搜索从哪里开始),该字段box_no
有时以科学计数法显示 - 2.4e+.... 等 - 有时它显示为文本。它肯定在表中定义,varchar
但似乎数据适配器在创建 DataTable 结构时试图推断不同的字段类型。有没有办法告诉它不要这样做?