编辑类,添加或删除" int"根据数据表中的内容

时间:2016-07-08 13:19:05

标签: c# winforms sqlite datatable

我在数据库中有一个表并更新它,我使用该类来保存要处理的所有信息。

我想做的是:

  1. 从数据库中读取数据表。

  2. 检查类是否包含数据表中的所有字段

  3. 如果确实那么好。如果它没有,那么我想将这些字段添加到课程中。如果类包含数据表没有的字段,我想删除它们。

  4. 这是班级:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace Stock_A_Lot.DAL.Classes
    {
        public class Report
        {
            public int ReportID { get; set; }
            public DateTime RepDate { get; set; }
            public int RepPSold { get; set; }
        }
    }
    

    以下是表格代码:

    using Stock_A_Lot.BAL;
    using System;
    using System.Data;
    using System.Windows.Forms;
    
    namespace Stock_A_Lot.PL
    {
        public partial class Report_Form : Form
        {
            DBHelper db = new DBHelper();
            Database_Handler dbh = new Database_Handler();
            public Report_Form()
            {
                InitializeComponent();
            }
    
            private void Report_Form_Load(object sender, EventArgs e)
            {
                DataTable Prods;
                String query = "Select ProdDesc From Product";
                Prods = db.GetDataTable(query);
    
                DataTable Report;
                String queryReport = "Select * From Report";
                Report = db.GetDataTable(queryReport);
    
                foreach (DataRow dr in Prods.Rows)
                {
                    ContainColumn(dr[0].ToString() + "Curr", Report);
                    ContainColumn(dr[0].ToString() + "Prev", Report);
                    //Check class here if possible
                }
            }
            private void ContainColumn(string columnName, DataTable table)
            {
                DataColumnCollection columns = table.Columns;
    
                if (columns.Contains(columnName))
                {
    
                }
                else
                {
                    string query = "ALTER TABLE Report ADD COLUMN \"" +columnName + "\"  TEXT NOT NULL DEFAULT '0';";
                dbh.updatereportable(query);
                }
            }
        }
    }
    

0 个答案:

没有答案