我在数据库中有一个表并更新它,我使用该类来保存要处理的所有信息。
我想做的是:
从数据库中读取数据表。
检查类是否包含数据表中的所有字段
如果确实那么好。如果它没有,那么我想将这些字段添加到课程中。如果类包含数据表没有的字段,我想删除它们。
这是班级:
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);
}
}
}
}