如何使用我在 VS2015 中创建的数据集
How can I use the dataset that I created used in VS2015
我使用 UI 将数据源添加到我的项目中。
数据源列为 serverManagerDBDataSet
,当您打开三角形时,它显示 "serverManagerTable",当您为此打开三角形时,您会看到 table
我的问题是如何在我的项目中(正确地)使用这个数据源?
string constr = @"Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" + dbPath;
string cmdstr = "select * from serverManagerTable";
OleDbConnection con = new OleDbConnection(constr);
OleDbCommand com = new OleDbCommand(cmdstr, con);
con.Open();
OleDbDataReader reader = com.ExecuteReader();
reader.Read();
DataSet data = new DataSet();
OleDbDataAdapter da = new OleDbDataAdapter(com);
da.Fill(data);
int i = data.Tables[0].Rows.Count;
MessageBox.Show(i.ToString());
我收到一条错误消息,提示连接已打开
您正在对一个连接执行两种不同的读取机制。第一步是取出 ExecuteReader
和 Read
行:
string constr = @"Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" + dbPath;
string cmdstr = "select * from serverManagerTable";
OleDbConnection con = new OleDbConnection(constr);
OleDbCommand com = new OleDbCommand(cmdstr, con);
con.Open();
//OleDbDataReader reader = com.ExecuteReader();
//reader.Read();
DataSet data = new DataSet();
OleDbDataAdapter da = new OleDbDataAdapter(com);
da.Fill(data);
int i = data.Tables[0].Rows.Count;
MessageBox.Show(i.ToString());
然后将您的数据库 类 包装在 using
语句中:
string constr = @"Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" + dbPath;
string cmdstr = "select * from serverManagerTable";
DataSet data = new DataSet();
using(OleDbConnection con = new OleDbConnection(constr))
using(OleDbCommand com = new OleDbCommand(cmdstr, con))
{
con.Open();
using(OleDbDataAdapter da = new OleDbDataAdapter(com))
da.Fill(data);
}
int i = data.Tables[0].Rows.Count;
MessageBox.Show(i.ToString());
using
语句可确保在加载数据出现异常时及时关闭您的连接。
然而,为了回答标题中的问题,我假设您应该使用 serverManagerDBDataSet
而不是普通的 DataSet
我使用 UI 将数据源添加到我的项目中。
数据源列为 serverManagerDBDataSet
,当您打开三角形时,它显示 "serverManagerTable",当您为此打开三角形时,您会看到 table
我的问题是如何在我的项目中(正确地)使用这个数据源?
string constr = @"Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" + dbPath;
string cmdstr = "select * from serverManagerTable";
OleDbConnection con = new OleDbConnection(constr);
OleDbCommand com = new OleDbCommand(cmdstr, con);
con.Open();
OleDbDataReader reader = com.ExecuteReader();
reader.Read();
DataSet data = new DataSet();
OleDbDataAdapter da = new OleDbDataAdapter(com);
da.Fill(data);
int i = data.Tables[0].Rows.Count;
MessageBox.Show(i.ToString());
我收到一条错误消息,提示连接已打开
您正在对一个连接执行两种不同的读取机制。第一步是取出 ExecuteReader
和 Read
行:
string constr = @"Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" + dbPath;
string cmdstr = "select * from serverManagerTable";
OleDbConnection con = new OleDbConnection(constr);
OleDbCommand com = new OleDbCommand(cmdstr, con);
con.Open();
//OleDbDataReader reader = com.ExecuteReader();
//reader.Read();
DataSet data = new DataSet();
OleDbDataAdapter da = new OleDbDataAdapter(com);
da.Fill(data);
int i = data.Tables[0].Rows.Count;
MessageBox.Show(i.ToString());
然后将您的数据库 类 包装在 using
语句中:
string constr = @"Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" + dbPath;
string cmdstr = "select * from serverManagerTable";
DataSet data = new DataSet();
using(OleDbConnection con = new OleDbConnection(constr))
using(OleDbCommand com = new OleDbCommand(cmdstr, con))
{
con.Open();
using(OleDbDataAdapter da = new OleDbDataAdapter(com))
da.Fill(data);
}
int i = data.Tables[0].Rows.Count;
MessageBox.Show(i.ToString());
using
语句可确保在加载数据出现异常时及时关闭您的连接。
然而,为了回答标题中的问题,我假设您应该使用 serverManagerDBDataSet
而不是普通的 DataSet