直接用tostring然后再convert这个就不用说了,
我现在在用反射的方法把数据转出来,如
fldInfo.SetValue(o, dr[fldInfo.Name]);
其中fldInfo是FiledInfo对象,dr是DataRow对象,fldInfo.Name是字段名称,
现在这样直接转会引发异常,因为number转过来是decimal,数据字段的长度是19,如何能让它直接转为int64或int32
我现在在用反射的方法把数据转出来,如
fldInfo.SetValue(o, dr[fldInfo.Name]);
其中fldInfo是FiledInfo对象,dr是DataRow对象,fldInfo.Name是字段名称,
现在这样直接转会引发异常,因为number转过来是decimal,数据字段的长度是19,如何能让它直接转为int64或int32
解决方案 »
- oledb.net 连接oracle时SQL语句里有单引号问题
- 构造函数的问题
- 组件窗口最大化的问题。
- 父容器中有一个控件,如何获取鼠标在这个控件内移动时相对于父容器的坐标?
- 关于datagridview 与combobox
- 如何实现SQL语句的设计界面?
- 求助 : win2k 环境下开发的.net 项目,在win98下运行时的问题?
- 我在C#中using Microsft.Xml.XQuery,请问在哪里能download到Microsoft的XQuery类库 ????急用!!
- C# 如何将二维数组更新SQL数据库 急!
- Datagridview的RowHeader如何设成复选框(checkboxcolumn)?
- 关于中文字符串传递的问题
- C#操作Excel(打开,保存,修改Excel,获取某单元格,某范围单元格集合数据)详细代码怎么写。就要最简单的操作代码。
fieldInfo.SetValue(o, Convert.ToInt32(dataRow[fieldInfo.Name]));可否?
using System;
using System.Data;
using System.Reflection;namespace ConsoleApplication7 {
class Program {
static void Main(string[] args) {
DataTable dt = new DataTable();
dt.Columns.Add("TestField",typeof(decimal));
dt.Rows.Add(10);
dt.Rows.Add(20.1);
FieldInfo fieldInfo = typeof (TestClass).GetField("TestField");
foreach (DataRow dataRow in dt.Rows) {
TestClass o = new TestClass();
fieldInfo.SetValue(o, Convert.ToInt32(dataRow[fieldInfo.Name]));
Console.WriteLine(o.TestField);
} Console.ReadLine();
}
} public class TestClass {
public int TestField;
}
}