将销售表中的数据在listBox中显示,代码如下,不知道错在那里,请路过的朋友指点!
private   void   W_jiaoban_Load(object   sender,   System.EventArgs   e) 
 { 
 	string   sqlstr   =    "Select   *   From   POS_销售表   where   代码   =    ' "      +   ReturnMain.Dm       
 		+    " '   And   小计   =    ' "   +   ReturnMain.xiaoji   +    " ' "; 
 	System.Data.OleDb.OleDbConnection   ConnectObject   =   SmartPublic.OleDbConnect.HostConnect();	 
 	//返回数据连接ConnectObject 
 	System.Data.DataTable   tempTable   =   SmartPublic.DataClass.Get_DataTable(sqlstr   ,ConnectObject); 
 	//得到临时表tempTable 
 	decimal   total   =   0;//定义变量并赋值为0 
 		for(int   i=0;i <   tempTable.Rows.Count;i++)//得到表中的总行数 
 		{ 
 					decimal   TempDecimal   =   0; 
 					try 
 					{ 
 						TempDecimal   =      Convert.ToDecimal(tempTable.Rows[i][ "小计 "].ToString()); 
 			tempTable.Rows[i][ "小计 "].ToString(); 
 				//将表中小计一列的数值转变为数据值型的 
 					} 
 					catch 
 					{ 
 						TempDecimal   =   0; 
 					} 
 			total   =   total   +TempDecimal;//得到所有小计列的值 
 		}   
 	listBox1.Items.Add(total).ToString(); 
 	//将得到的小计列值的总和附给本窗口的listBox1列表框,并在listBox1中显示出来 
 }   
 请路过的朋友们指点一下错在那里,窗口中只有一个listBox1列表,我主要想在调用窗口时显示出数据
------解决方案--------------------为什么不在sql里直接得到总和呢   
 string sqlstr =  "Select sum(小计) From POS_销售表 where 代码 =  ' "  + ReturnMain.Dm   
 		+  " ' And 小计 =  ' " + ReturnMain.xiaoji +  " ' ";   
 --------------------------------------- 
 现在是什么情况,listBox1是否显示数据了   
 断点看下sqlstr 的最后结果是什么,在查询分析器里执行一下,看是否能正确执行 
 再断点看下tempTable 是否得到数据了   
 这行代码没有意义,可以去掉 
 tempTable.Rows[i][ "小计 "].ToString();   
 这个加ToString()也没必要 
 listBox1.Items.Add(total).ToString(); 
 --->  
 listBox1.Items.Add(total);
------解决方案--------------------listBox1.Items.Add(total).ToString(); 
 ====正确的===== 
 listBox1.Items.Add(total.ToString());
------解决方案--------------------把上面的删了,不小心给发出去了。     
 一般都是在SQL中 select sum(xx) as 小计 from table where ....   
 然后  listBox1.Items.Add(tempTable.Rows[0][ "小计 "].ToString());   
 如果需要小计多个就 select sum(xx) as 小计 from table group by xxx 
 然后 
 foreach(DataRow dr in tempTable.Rows) 
 { 
     listBox1.Items.Add(dr[ "小计 "].ToString()); 
 }
------解决方案--------------------string sqlstr =  "Select Sum(小计) From POS_销售表 where 代码 =  ' "  + ReturnMain.Dm   
 		+  " ' And 小计 =  ' " + ReturnMain.xiaoji +  " ' "; 
 System.Data.OleDb.OleDbConnection ConnectObject = SmartPublic.OleDbConnect.HostConnect(); 
 System.Data.DataTable tempTable = SmartPublic.DataClass.Get_DataTable(sqlstr ,ConnectObject); 
 if(tempTable.Rows.Count> 0) 
 listBox1.Items.Add(tempTable.Rows[0][0]);   
------解决方案--------------------顶下^^^^
------解决方案--------------------首先看看tempTable 是否为NULL 
 如果为NULL或者Rows.Count = 0,那说明你数据库根本没有符合条件的记录 
 decimal TempDecimal = 0; 
 try 
 { 
 TempDecimal = Convert.ToDecimal(tempTable.Rows[i][ "小计 "].ToString()); 
 tempTable.Rows[i][ "小计 "].ToString();