【发布时间】:2012-07-03 14:43:53
【问题描述】:
public class InnovationSubmission
{
public OleDbConnection connectr = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=DatabaseTEST.accdr;Jet OLEDB:Database Password=DWPOIT");
public OleDbDataAdapter Adaptor = new OleDbDataAdapter();
private List<SelectListItem> _Area = new List<SelectListItem>();
private List<SelectListItem> _Team = new List<SelectListItem>();
public int ID { get; set; }
[Required(ErrorMessage="Please enter a short description")]
public string ShortDescription { get; set; }
[Required(ErrorMessage = "Please enter a detailed description")]
public string DetailedDescription { get; set; }
public string Status { get; set; }
[Required(ErrorMessage = "Please enter your name")]
public string Originator { get; set; }
[Required(ErrorMessage = "Please enter your email address")]
[RegularExpression(".+\\@.+\\..+",
ErrorMessage = "Please enter a valid email address")]
public string OriginatorEmail { get; set; }
[Required]
public string SelectedArea { get; set; }
[Required]
public string SelectedTeam { get; set; }
public List<SelectListItem> Area
{
get { return _Area; }
}
public List<SelectListItem> Teams
{
get
{
string SQLSelect = ("SELECT * FROM Teams");
OleDbCommand sCommand = new OleDbCommand(SQLSelect, connectr);
Adaptor.SelectCommand = sCommand;
connectr.Open();
Adaptor.Fill(areaTable);
connectr.Dispose();
foreach (DataRow row in areaTable.Rows)
{
_Team.Add(new SelectListItem() { Text = row[1].ToString(), Value = row[1].ToString() });
}
return _Team;
}
}
public DataTable areaTable = new DataTable();
}
}
【问题讨论】:
-
什么是
connector? (请注意,对属性访问执行数据库获取操作非常臭。您还应该使用using语句,并且每次都使用新连接。) -
它是一个 OledBconnection 对象,当我创建该类的新实例时,我想在该特定类的其他 2 个不同部分中使用 Datatable。
-
确定连接没有在其他地方打开?
-
它是唯一打开连接的网段。
-
如果这是唯一使用连接器的部分,为什么不在此处定义?在那里你可以确定它发生了什么..
标签: c# database asp.net-mvc-3 ado.net ole