如何使用我在VS2015中创建的数据集

本文关键字:创建 数据集 VS2015 何使用 | 更新日期: 2023-09-27 18:26:10

我使用UI将数据源添加到我的项目中。

数据源列为serverManagerDBDataSet,当您打开三角形时,它会显示"serverManagerTable",当您为此打开三角形时会看到表中的字段

我的问题是如何在我的项目中(正确地)使用此数据源?

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());

我收到一个错误,说连接已经打开

如何使用我在VS2015中创建的数据集

您在一个连接上执行两种不同的读取机制。第一步是取出ExecuteReaderRead行:

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