int result=(int) (cmd.ExecuteScalar().ToString());这样转化无效?为什么 int result=(int)cmd.ExecuteScalar();orint result= Convert.ToInt32(cmd.ExecuteScalar().ToString()); 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 使用 ExecuteScalar 方法从数据库中检索单个值(例如一个聚合值)。与使用 ExecuteReader 方法,然后使用 SqlDataReader 返回的数据执行生成单个值所需的操作相比,此操作需要的代码较少。典型的 ExecuteScalar 查询可以采用类似于下面的 C# 示例的格式:CommandText = "select count(*) as NumberOfRegions from region";Int count = (int) ExecuteScalar(); int resultint.Parse(cmd.ExecuteScalar().ToString()); int result=int.Parse(cmd.ExecuteScalar().ToString()); 实际上不需要ToString方法直接就可以转化了,如果有ToString反而增加了转化的时间,对速度有点影响:int result = Convert.ToInt32(cmd.ExecuteScalar()); 举个简单的例子:如果cmd.ExecuteScalar()是个Double类型并且值是1.4,如果ToString的话,不可能从"1.4"转化到整型值1(整型不允许小数点),但是可以直接从Double类型的1.4到整型1(丢掉精确度),所以最好不要转化到String再到整型,直接到整型就可以了。实际上int.Parse(cmd.ExecuteScalar().ToString())和Convert.ToInt32(cmd.ExecuteScalar().ToString())是一个意思,当Convert的ToInt32方法的参数是String时会调用Int32的Parse方法实现。 不能转换的原因很简单,因为string类型是不可以转换成int型的。C#与C++不同的是,C#中只允许在类与它的基类间进行转换。所以你要把string转换成int,只能借助int.Parse()或者Convert.ToInt32() 纠结了两天的DataContractSerializer 反序列化xml的问题,在线等啊 新手求教,还望各位大侠不吝赐教 asp Page 构造函数 写在哪 VS2005编译时出错,求解 c#语言,在vs2005中,怎么让access中的数据显示在DataGridView中? 高难度,高手请了! 一个图像处理问题。把一幅图四周的黑色区域内的部分扩大到原图大小,100分。 RFC的问题,急!!!!!分不够可以再加 面试碰到一到题,虽然答对了,可原理不太想得通,求大侠解惑啊~~~ Rational的XDE在.net2003下不能使用,不知各位怎么解决的? 简单C#问题 C#访问Access数据库
int result = Convert.ToInt32(cmd.ExecuteScalar());