日期:2014-05-17  浏览次数:20773 次

Numeric和varchar之间的区别
tableA
Id  Phone  Number7

其中字段Number7的数据类型是Numeric(18,6)
Number7的数据是XXX.XXXXXXX之类的数据

一个WebServices中

string strSql = "select * from tableA where Phone ='" + Phone + "' ";
            DataTable dt = rdtable(strSql);
            if (dt.Rows.Count > 0)
            {
               Point obj = new Point();                

                obj.X = Convert.ToDouble(dt.Rows[0]["Number7
"].ToString());
            }

设置断点,当程序运行到:
obj.X = Convert.ToDouble(dt.Rows[0]["Number7
"].ToString());
这一句中就停住了,也没报错,只是停住了

但假如把tableA中的字段Number7的数据类型改成varchar,程序就能跑通,
,请问是怎么回事?
------最佳解决方案--------------------
肯定会报错的,怎么会停在那里。webservice调试方式不同于一般的程序。
------其他解决方案--------------------
一个是数值类型  一个是字符串类型  这个区别够大不
------其他解决方案--------------------
引用:
一个是数值类型  一个是字符串类型  这个区别够大不


请教版主,这句应该如何改?

obj.X = Convert.ToDouble(dt.Rows[0]["Number7
"].ToString());

------其他解决方案--------------------
引用:
引用:一个是数值类型  一个是字符串类型  这个区别够大不

请教版主,这句应该如何改?

obj.X = Convert.ToDouble(dt.Rows[0]["Number7
"].ToString());

不知道程序里面该怎么做哦