直接用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
解决方案 »
- 求一个正则表达式,用来提取时间
- 如何在webbrowser中显示登入后的页面
- dataGridView1格的赋值
- 如何在C#代码里增加GroupBox 和在TabControl中加入新的选项卡?
- 如何控制图片框picBox1移到到图片框picBox2上面而不被picBox2挡住?
- 怎样用C#代码实现给文件夹添加用户啊?
- tostring 的问题
- C# 调用数据库
- 关于DirectInput的小疑惑
- 建立.net论坛可以只用iis和.netframework吗
- 关于中文字符串传递的问题
- 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;
}
}