1

如何从 DataTable 访问整数数据?

我这样做是为了得到一个字符串:

tbEvent.Text = dt.Rows[0].Field<String>(0);

但这不起作用:

int numb = dt.Rows[0].Field<Int>(0);

问候,茶

4

4 回答 4

1
int i = Convert.ToInt32(dt.Rows[0]["field_name"]);
于 2012-11-15T15:03:54.663 回答
0

试试这个 :-

tbEvent.Text = dt.Rows[0].Field<Int>(0).ToString();

我假设您尝试将值传递给文本框。

于 2012-11-15T15:03:44.167 回答
0

使用强类型访问!

如果你的类型int

string g = dt.Rows[0].Field<String>(0);

将失败 !

无法将“System.Int32”类型的对象转换为“System.String”类型

但是,如果您知道它的 int 并且想要显示它的字符串表示形式:(或只是 ToString())

string t=   dt.Rows[0].Field<int>(0).ToString();

要不就 : dt.Rows[0][0].ToString();

于 2012-11-15T15:05:32.663 回答
0

Field扩展方法不会适当地转换类型。它只是模拟一个强类型的DataTable. 因此,如果您知道 DataColumn 的类型是int这样的:

int result = dt.Rows[0].Field<int>(0);

但如果它真的来了,string你需要相应地转换/解析它。

例如:

int result = int.Parse(dt.Rows[0].Field<String>(0));

或者更松散的类型(fe 因为它是 adouble或者你不知道它是什么)

int result = int.Parse(dt.Rows[0][0].ToString());
于 2012-11-15T15:07:23.933 回答