求助:
String sql1 = "select sum(nvl(i.qty,0.00))-sum(nvl(p.qty_req,0.00)) as \"可用量\" from process_req p,item_stock i where p.item_no='" + item_no + "' and i.item_no = '" + item_no + "' and p.status_id = 'P'"; //连接数据库进行更新
connOracle conno = new connOracle();
conno.OpenConn();
DataSet ds = conno.queryDB(sql1);
DataTable dt = ds.Tables[0];
if (dt.Rows.Count> 0)
{
//DataRow dr = dt.Rows[0];
// decimal q = decimal.Parse(dr.ToString());
//如果可用量大于需求量
if (decimal.parse(dt.Rows[0][0].ToString())>= 2.1)
{
//int aa = int.Parse(dt.Rows[0][0].ToString());
MessageBox.Show("可用量是:" + aa + "可以进行足料处理");
}
我使用上面的语句来查询数据库,并计算结果,在语句 if (decimal.parse(dt.Rows[0][0].ToString())>= 2.1)
处提示输入字符串格式不正确!!!!请问这是怎么回事,我该怎么办,我式过很多方法了都麽用
String sql1 = "select sum(nvl(i.qty,0.00))-sum(nvl(p.qty_req,0.00)) as \"可用量\" from process_req p,item_stock i where p.item_no='" + item_no + "' and i.item_no = '" + item_no + "' and p.status_id = 'P'"; //连接数据库进行更新
connOracle conno = new connOracle();
conno.OpenConn();
DataSet ds = conno.queryDB(sql1);
DataTable dt = ds.Tables[0];
if (dt.Rows.Count> 0)
{
//DataRow dr = dt.Rows[0];
// decimal q = decimal.Parse(dr.ToString());
//如果可用量大于需求量
if (decimal.parse(dt.Rows[0][0].ToString())>= 2.1)
{
//int aa = int.Parse(dt.Rows[0][0].ToString());
MessageBox.Show("可用量是:" + aa + "可以进行足料处理");
}
我使用上面的语句来查询数据库,并计算结果,在语句 if (decimal.parse(dt.Rows[0][0].ToString())>= 2.1)
处提示输入字符串格式不正确!!!!请问这是怎么回事,我该怎么办,我式过很多方法了都麽用
用decimal.TryParse判断
你要点到dt里面看结果是什么东西,如果有值才行的呀?
double result=Convert.ToDouble(dt.Rows[0][0].ToString());
if (result>=2.1)
{
//int aa = int.Parse(dt.Rows[0][0].ToString());
MessageBox.Show("可用量是:" + aa + "可以进行足料处理");
}你看看这样行不?呵呵~~
你这是什么类型!?
2.1 你这个又是什么类型!?
关键是 看decimal.parse(dt.Rows[0][0].ToString()
输出的是什么
String sql1 = "select nvl(sum(nvl(i.qty,0.00))-sum(nvl(p.qty_req,0.00)),0.0) as \"可用量\" from process_req p,item_stock i where p.item_no='" + item_no + "' and i.item_no = '" + item_no + "' and p.status_id = 'P'";
(decimal)(dt.Rows[0][0].ToString())
运算符“>=”无法应用于“decimal”和“double”类型的操作数
这样旧对了,谢谢