如何使用 C# 在 datagridview 控件中显示某些 table 架构列?
How to display certain table schema columns in a datagridview control using C#?
我有一种方法可以将 MS Access table 的整个模式显示到 datagridview 控件中。我如何才能在 datagridview 中仅显示列名和数据类型架构列。我正在使用的方法如下。感谢您的任何建议。
private void ButtonFieldHelp_Click(object sender, EventArgs e)
{
char ch = '"';
dbConn = new OleDbConnection();
dbCmd = new OleDbCommand();
DataTable data;
OleDbDataReader reader;
dbConn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + ch + this.stringData + ch;
dbConn.Open();
dbCmd.Connection = dbConn;
dbCmd.CommandText = "SELECT * FROM " + this.comboBox.SelectedItem.ToString();
reader = dbCmd.ExecuteReader();
foreach (DataRow tableField in data.Rows)
{
foreach (DataColumn tableProperty in data.Columns)
{
dataGridView.DataSource = data;
}
}
this.txtRecords.Text = data.Rows.Count.ToString();
reader.Close();
dbConn.Close();
}
这里是您修改后的代码,可根据需要使用 OleDbDataAdapter 工作:
private void ButtonFieldHelp_Click(object sender, EventArgs e)
{
char ch = '"';
var dbConn = new OleDbConnection();
var dbCmd = new OleDbCommand();
DataTable data = new DataTable();
OleDbDataReader reader;
dbConn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + ch + this.stringData + ch;
dbConn.Open();
dbCmd.Connection = dbConn;
dbCmd.CommandText = "SELECT * FROM " + this.comboBox.SelectedItem.ToString();
//reader = dbCmd.ExecuteReader();
OleDbDataAdapter adapter = new OleDbDataAdapter(dbCmd);
adapter.Fill(data);
var dataTable = new DataTable();
dataTable.Columns.Add("ColumnName");
dataTable.Columns.Add("ColumnType");
foreach (DataColumn column in data.Columns)
{
dataTable.Rows.Add(column.ColumnName, column.DataType.ToString());
}
this.dataGridView1.DataSource = dataTable;
this.txtRecords.Text = data.Rows.Count.ToString();
dbConn.Close();
}
我有一种方法可以将 MS Access table 的整个模式显示到 datagridview 控件中。我如何才能在 datagridview 中仅显示列名和数据类型架构列。我正在使用的方法如下。感谢您的任何建议。
private void ButtonFieldHelp_Click(object sender, EventArgs e)
{
char ch = '"';
dbConn = new OleDbConnection();
dbCmd = new OleDbCommand();
DataTable data;
OleDbDataReader reader;
dbConn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + ch + this.stringData + ch;
dbConn.Open();
dbCmd.Connection = dbConn;
dbCmd.CommandText = "SELECT * FROM " + this.comboBox.SelectedItem.ToString();
reader = dbCmd.ExecuteReader();
foreach (DataRow tableField in data.Rows)
{
foreach (DataColumn tableProperty in data.Columns)
{
dataGridView.DataSource = data;
}
}
this.txtRecords.Text = data.Rows.Count.ToString();
reader.Close();
dbConn.Close();
}
这里是您修改后的代码,可根据需要使用 OleDbDataAdapter 工作:
private void ButtonFieldHelp_Click(object sender, EventArgs e)
{
char ch = '"';
var dbConn = new OleDbConnection();
var dbCmd = new OleDbCommand();
DataTable data = new DataTable();
OleDbDataReader reader;
dbConn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + ch + this.stringData + ch;
dbConn.Open();
dbCmd.Connection = dbConn;
dbCmd.CommandText = "SELECT * FROM " + this.comboBox.SelectedItem.ToString();
//reader = dbCmd.ExecuteReader();
OleDbDataAdapter adapter = new OleDbDataAdapter(dbCmd);
adapter.Fill(data);
var dataTable = new DataTable();
dataTable.Columns.Add("ColumnName");
dataTable.Columns.Add("ColumnType");
foreach (DataColumn column in data.Columns)
{
dataTable.Rows.Add(column.ColumnName, column.DataType.ToString());
}
this.dataGridView1.DataSource = dataTable;
this.txtRecords.Text = data.Rows.Count.ToString();
dbConn.Close();
}