回 帖 发 新 帖 刷新版面

主题:求助

//一个数据访问层的例子,该类并不需要从数据库中检索数据,
    //只是删除库表中的一些记录,或添加一些记录,请帮忙优化,或指出不足
    class DataAccess
    {
        private OleDbConnection Conn;
        private OleDbDataAdapter DALab;
        private DataTable tblRawData;
        
        public DataAccess(string strconn)
        {
            Conn = new OleDbConnection(strconn);
            Conn.Open();
            DALab = new OleDbDataAdapter("select * from lab_rawdata", Conn);
            tblRawData = new DataTable("lab_rawdata");
            DALab.FillSchema(tblRawData, SchemaType.Source);//并不需要检索记录
            Conn.Close();
        }

        public void AddNew(string Sample,string Item,decimal Result)
        {
            DataRow drCurrent = tblRawData.NewRow();
            drCurrent["sample_id"] = Sample;
            drCurrent["item_code"] = Item;
            drCurrent["result"] = Result;
            tblRawData.Rows.Add(drCurrent); 
        }

        public void DelRows(string Sample)
        {
            Conn.Open();
            string strDel = "delete from lab_rawdata where sample_id = " + Sample;
            OleDbCommand mycommand = new OleDbCommand(strDel, Conn);
            mycommand.ExecuteNonQuery();
            Conn.Close();
        }

        public void UpDate()
        {
            DALab.Update(tblRawData );
            tblRawData.Clear();
            tblRawData.AcceptChanges();
        }
    }

回复列表 (共3个回复)

沙发

构造函数太啰嗦了,对connection的操作也不够合理
 public DataAccess(string strconn)
        {
          connStr=strconn;
        }
 private void open()
{
  //判断是否连接,没连接连接
}
 private void close()
{
//判断是否关闭,没关闭关闭
}

在其他操作类中,调用这两个方法 完成连接和断开

板凳

谢谢,能否帮我看看update()方法是否有问题?

3 楼

关键是调用Adapter.UPdate(dataTable)前,是否需要完成adapter.insertcommand 的书写,怎么写?

我来回复

您尚未登录,请登录后再回复。点此登录或注册