问题描述
privatevoid当前库存商品Button_Click(objectsender,EventArgse){MyQueryTable=newSystem.Data.DataTable();SqlConnectionMyConnection=newSqlConnection();MyConnection.ConnectionString=global::MySale.Properties.Settings.Default.MySaleConnectionString;MyConnection.Open();stringMySQL="SELECT商品编号,商品名称,规格型号,单位,累计采购量,累计销售量,当前库存量FROM商品信息";SqlDataAdapterMyAdapter=newSqlDataAdapter(MySQL,MyConnection);MyAdapter.Fill(MyQueryTable);for(inti=0;i<MyQueryTable.Rows.Count;i++){intstr=int.Parse(MyQueryTable.Rows[i]["当前库存量"].ToString());if(str<10){MessageBox.Show(MyQueryTable.Rows[i]["商品名称"].ToString());}}this.汇总信息DataGridView.DataSource=MyQueryTable;if(MyConnection.State==ConnectionState.Open){MyConnection.Close();}this.MyTitle=this.MyCompany+"分类商品当前库存汇总表";}红色字体是查询语句,返回的是查询库存量小于10的商品名称这里能返回当前库存小于10的商品。但是因为上面用的是一个for语句,所有查到的每个商品名称都会显示出来(是一个一个跳出来的,查到了几个就会几个窗体),所有效率很低,现在求救高手能不能把这个求得商品名称都放在一个集合里面。用一个提示框全部显示出来啊。小弟开始用intst=int.Parse(MyQueryTable.Rows[i]["商品名称"].ToString());来返回所有的商品名称但是保持啦,输入字符串的格式不正确。
解决方案
解决方案二:
intst=int.Parse(MyQueryTable.Rows[i]["商品名称"].ToString());
商品名称是整型么?如果不是整型就会报错啊.不知道你是什么意思,stringstrProduct='';for(inti=0;i<MyQueryTable.Rows.Count;i++){intstr=int.Parse(MyQueryTable.Rows[i]["当前库存量"].ToString());if(str<10){strProduct=strProduct+MyQueryTable.Rows[i]["商品名称"].ToString();}}MessageBox.Show(strProduct);
解决方案三:
StringBuildersb=newStringBuilder();for(inti=0;i<MyQueryTable.Rows.Count;i++){intstr=int.Parse(MyQueryTable.Rows[i]["当前库存量"].ToString());if(str<10){sb.Append(str.ToString()+"n");}}MessageBox.Show(sb);
解决方案四:
System.Text.StringBuildersb=newSystem.Text.StringBuilder();intqty=0;foreach(DataRowrowinMyQueryTable.Rows){qty=Convert.ToInt32(row["当前库存量"]);if(qty<10)sb.Append(qty.ToString()+System.Environment.NewLine);}MessageBox.Show(sb.ToString());
解决方案五:
引用1楼hery2002的回复:
商品名称是整型么?如果不是整型就会报错啊.不知道你是什么意思,