黑马程序员技术交流社区

标题: 数据库中数据导出的时候报错? [打印本页]

作者: 蔡纯富    时间: 2012-3-25 21:44
标题: 数据库中数据导出的时候报错?
本帖最后由 蔡纯富 于 2012-3-26 12:05 编辑



                                while (reader.Read())
                                {
                                    string str1 = reader.GetString(0);
                                    //string str2 = reader.GetString(1).ToString();
                                    int i = reader.GetInt32(1);                                    
                                    sr.WriteLine("{0},{1}", str1, i);
                                }//reader为读取到的数据记录对象集合;sr为StreamReader,用于读取数据

已知我的数据库中表有两列,每一列数据类型为nvarchar(50),第二列为int;我想对数据进行导出,可是报错了,

如图所示,为什么用了ToString()方法还会报错?而如果把此行代码注释掉换为int i = reader.GetInt32(1)就行了?求解是为什么啊

作者: →篱誸de~箭    时间: 2012-3-26 01:01
试试Convert.ToString()吧
作者: 何智杰    时间: 2012-3-26 11:41
我想你的问题不至于ToString()  而是在于GetString(1)有问题
作者: 张学良    时间: 2012-3-26 11:45
你所要得到的那个数是 int 类型的,你用GetString()方法得到它当然会报错,int类型的必须要用GetInt32()来获取。
作者: 蔚强    时间: 2012-3-26 13:15
   你要取得的数据l类型是整型的吧,除了GetString方法外还有GetInt32()等其它方法,也不是取数据库所有的数据都用GetString()方法的




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2