鸟鸟v 2013-07-07 03:31 采纳率: 0%
浏览 2127
已采纳

C#谁能帮我看看那里出问题了

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;

namespace SuperMarket
{
class manager
{
public Array[] show(string sql)
{
DBHelper db = new DBHelper();
int i = 0;
Array[] arr = new Array[100];
try
{

            SqlCommand comm = new SqlCommand(sql,db.Conn);
            db.Open();
            SqlDataReader read = comm.ExecuteReader();
            while (read.Read())
            {
                Page pa = new Page();
                pa.Goodsld = Convert.ToInt32(read["Goodsld"]);
                pa.GoodName = read["GoodName"].ToString();
                pa.Price = read["Price"].ToString();
                pa.TypeName = read["TypeName"].ToString();
                pa.ProdureCounts = Convert.ToInt32(read["ProdureCounts"]);
                arr[i] = pa(此处报错);
                i++;
            }
        }
        catch (Exception)
        {
            Console.WriteLine("异常");
        }
        finally
        { 
            db.Close();
        }
        return arr;
    }

    public int show1(string sql)
    {
        DBHelper db = new DBHelper();
        int k = 0 ;
        try
        {

            SqlCommand comm = new SqlCommand(sql, db.Conn);
            db.Open();
            k = (int)comm.ExecuteNonQuery();
        }
        catch (Exception)
        {
            Console.WriteLine("异常");
        }
        finally
        {
            db.Close();
        }
        return k;
    }
}

}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace SuperMarket
{
class sqlmanager
{
Page pa = new Page();
manager man = new manager();
public void showmanager()
{
Console.WriteLine("1.查询全部物品信息");
Console.WriteLine("2.查询指定商品价格");
Console.WriteLine("3.增加物品信息");
Console.WriteLine("输入其他字符串退出系统");
int num = Convert.ToInt32(Console.ReadLine());
if (num == 1)
{
sqla();
}
else if (num==2)
{
sqlb();
}
else if (num == 3)
{
sqlc();
}
}
public void sqla()
{

        string sql = "select * from Goods";
        Array[] arr = man.show(sql);
        foreach (Array item in arr)
        {
            if (item != null)
            {
                Console.WriteLine("{0},{1},{2},{3},{4}",pa.Goodsld,pa.GoodName,pa.Price,pa.TypeName,pa.ProdureCounts);
            }
        }
    }
  • 写回答

1条回答 默认 最新

  • 道无名 2013-07-11 07:21
    关注

    Array[] arr = new Array[100];
    很可疑~~~
    如果你能把调试的错误信息贴出来,能更好的解决问题.

    建议还是不要用Array了,因为你的写法可能存在数组索引溢出的风险(数据记录数大于100的情况下).
    给你一段以下代码参考(你的代码中完全可以用List取代Array)

        public List<GroupService> CreateGroup(Group group)
        {
            GroupService service = new GroupService();
            List<GroupService> list = new List<GroupService>();
            list.Add(service);
            return list;
        }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 如何实验stm32主通道和互补通道独立输出
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题