查看DataGridView中的所有SQL表
本文关键字:SQL DataGridView 查看 | 更新日期: 2023-09-27 18:10:02
我有一个加载表名的DataGridView
。在构造函数中调用gettables。我在.sdf数据库中存储了9个表。当它加载时,我列出了所有表至少81次。如何显示每个表名中的一个?我使用SqlCe 3.5和 c# 2010 Express。下面是我的代码:
DataTable dt = new DataTable();
private void getTables(object sender, EventArgs e)
{
dataGridView1.DataSource = dt;
string strConnect = @"Data Source=|DataDirectory|'LWADataBase.sdf";
using (SqlCeConnection con = new SqlCeConnection(strConnect))
{
con.Open();
using (SqlCeCommand com = new SqlCeCommand("SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES", con))
{
using (SqlCeDataReader reader = com.ExecuteReader())
{
SqlCeDataAdapter da = new SqlCeDataAdapter();
da.SelectCommand = com;
while (reader.Read())
{
da.Fill(dt);
}
}
}
}
}
你把两件事混在一起了。为了检索数据,您可以使用DataAdapter
或一个DataReader
,而不是每一个。在这里,您只需要DataAdapter
来填充表。
private void getTables(object sender, EventArgs e)
{
dataGridView1.DataSource = dt;
string strConnect = "Data Source=|DataDirectory|''LWADataBase.sdf";
using (SqlCeConnection con = new SqlCeConnection(strConnect)) {
con.Open();
using (SqlCeCommand com = new SqlCeCommand("SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES", con)) {
using (SqlCeDataAdapter da = new SqlCeDataAdapter()) {
da.SelectCommand = com;
da.Fill(dt);
}
}
}
}