C# dataset 有关问题~大神帮小弟我一把哈。

C# dataset 问题求助~~~大神帮我一把哈。。


调用 FillDataGridData(),立马报错

C# dataset 有关问题~大神帮小弟我一把哈。

跟踪运行发现,到了Sda.Fill(Ds, tablename),就挂了。。但是检查好久没发现哪里有错。。
求大神帮忙,看看什么地方问题



private void FillDataGridData()
        {
             DataSet Ds = dbBackPackage.QueryBackPackage(checkBox1.Checked, false, txtBarCode.Text.ToString(), dateTimePicker1.Text.ToString());
            Bding.DataSource = Ds.Tables[0].DefaultView; ;
            this.dataGrid1.DataSource = Bding;
        }

public static DataSet QueryBackPackage(bool byTime,bool inServer,string barCode,string dateTime) 
        {
           string sql = "select * from X_BackPackage where barcode like '%@barcode%' ";
            if (byTime)
            {
                sql = sql + "and regtime='@datetime'";
                SqlCeParameter[] para = new SqlCeParameter[2];
                para[0] = new SqlCeParameter("@barcode",barCode);
                para[1] = new SqlCeParameter("@datetime", dateTime);
                return dbHelper.GetDataSet(sql, "X_BackPackage", para);
            }
            else
            {
                SqlCeParameter[] para = new SqlCeParameter[1];
                para[0]=new SqlCeParameter("@barcode",barCode);
                return dbHelper.GetDataSet(sql, "X_BackPackage",para);
            }
        }

public static DataSet GetDataSet(string Sql, string tablename, params SqlCeParameter[] paras)
        {
            dbHelper dbhelper = new dbHelper();
            SqlCeConnection Con = dbhelper.GetConnection();
            
            SqlCeCommand Cmd = new SqlCeCommand(Sql, Con);
            foreach (SqlCeParameter p in paras)
            {
                Cmd.Parameters.Add(p);
            }
            SqlCeDataAdapter Sda = new SqlCeDataAdapter(Cmd);
            DataSet Ds = new DataSet();
            try
            {
                Sda.Fill(Ds, tablename);
                return Ds;
            }
            catch (SqlCeException ex)
            {
                if (Con.State != ConnectionState.Closed)
                {
                    Con.Close();
                }
                MessageBox.Show("错误"+ex.Message);
            }
            return null;
        }
------解决思路----------------------
C# dataset 有关问题~大神帮小弟我一把哈。
CE 系统? 看是不是数据量太大了 减少数据量吧
------解决思路----------------------
  Sda.Fill(Ds); 这样式式

再不行用DataReader读取

要再不行用Sqlite数据库吧 比那个Ce的好用多了
------解决思路----------------------
第二个错误感觉是数据类型不对,你在GetDataSet中设断点调试一下看
------解决思路----------------------
SqlCeConnection Con = dbhelper.GetConnection();
这里是否进行了connection的open操作?
------解决思路----------------------
SqlCeConnection Con = dbhelper.GetConnection();打开连接了吗?