如题:有数据库shcom,表t1,t2,t3,t4程序winform,如何在listview或datagridview显示出shcom中的表列

解决方案 »

  1.   

    有现成的SQL语句可以读到指定库内所有表和列的啊
    http://blog.csdn.net/q107770540/article/details/6127137这是读取所有表的
    再读取表内所有列的  你自己GOOGLE一下就OK了
      

  2.   

    第一种方法把读出来的数据向ListView控件里添加,代码大概是这样:
    SqlConnection conn=new SqlConnection(".;database=shcom;uid=...;pwd=...");
    conn.Open();
    SqlCommand cmd=new SqlCommand("select id,name,sex,... from t1",conn);
    SqlDataReader sdr;
    sdr=cmd.ExecuteReader();
    while(sdr.read())
    {
      ListView.Items.Add(sdr["id"].ToString(),sdr["name"].ToString(),sdr["sex"].ToString());
    }
    sdr.close();
    conn.close();第二种用DataGridView控件就简单多啦
    SqlConnection conn=new SqlConnection(".;database=shcom;uid=...;pwd=...");
    SqlCommand cmd=new SqlCommand("select id,name,sex,... from t1",conn);
    SqlDataAdapter sda=new SqlDataAdapter("select id,name,sex,... from t1",conn);
    DataSet ds=new DataSet();
    sda.Fill(ds);
    DataGridView1.DataSource=ds.Table[0]
    然后就在datagridview1这个控件里把数据显示出来了
      

  3.   


     for(int i=0;i<dt.rows.count;i++)
    {
    DataGridViewRow dgvr = new DataGridViewRow();
                    int rindex = dataGridView1.Rows.Add(dgvr);
                    dataGridView1.Rows[rindex].Cells["icd10code"].Value = dt.rows[0]["a"].ToString();
                    dataGridView1.Rows[rindex].Cells["name"].Value = dt.rows[0]["b"].ToString();
                    dataGridView1.Rows[rindex].Cells["othername"].Value = dt.rows[0]["c"].ToString();
    }
       lvdiff.Items.Clear();
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    ListViewItem item = new ListViewItem();
                    item.SubItems[0].Text = "";                ListViewItem.ListViewSubItem newItem = new ListViewItem.ListViewSubItem();
                    DataRow dr = dt.Rows[i];
                    DifferentList diff = SetDiffListByDr(dr);
                    newItem.Text = diff.Difflistname;
                    newItem.Tag = diff;
                    item.SubItems.Add(newItem);
                    lvdiff.Items.Add(item);
                }
      

  4.   

    没太明白楼主的意思,是不是将四个表t1,t2,t3,t4的列全部显示出来到datagridview?如果是的话,那么查询的时候,建议你使用连接查询
      

  5.   

    你表述的不够明确,如果仅列出所有表的名称,那么很简单:
    select name from sysobjects where xtype='U' and  name<>'dtproperties'如果你还需要列出表中字段的名称则
    select o.name as 表名, c.name as 字段名 from syscolumns c inner join sysobjects o  on c.id=o.id where o.xtype='U' and  o.name<>'dtproperties'如果以上都不是你想要的结果,则请重新说明一下。