如何只从SQL数据库中显示DataGrid中的某些列?

时间:2015-11-01 21:51:48

标签: c# sql winforms datagridview

假设我在SQL数据库中有一个名为Table_T的表,它包含6列(column1column2,...,column6)。

以下代码将数据库中的所有列填充到dataGridView

private void button1_Click(object sender, EventArgs e)
{

    SqlConnection cn = new SqlConnection(
        "Data Source=PCN-TOSH;Initial Catalog=mydb;Integrated Security=True");
    cn.Open();
    SqlCommand cm = new SqlCommand("SELECT *FROM Table_T");
    cm.Connection = cn;

    SqlDataAdapter da = new SqlDataAdapter(cm);
    DataTable dt = new DataTable();
    da.Fill(dt);
    cn.Close();
    dataGridView1.DataSource = dt;
}

但我怎样才能选择column3& column5并将它们填充到dataGridview1

3 个答案:

答案 0 :(得分:3)

SELECT column3, column5 FROM Table_T

为什么不起作用?

答案 1 :(得分:1)

如果您不需要表格中的所有内容,则应使用

where

如果您需要条件,请使用foreach(var item in dt.Rows) { var colValue0 = item[0].ToString() var colValue1 = item[1].ToString() var colValue2 = Convert.ToIn16(item[2]) } 条款

但是,如果确实需要获取所有数据但在某些时候只显示某些信息,我会使用类似的foreach循环

var bindableDt = new Datatable();
bindableDt.Columns.Add("colName1")
bindableDt.Columns.Add("colName2")

foreach(var item in dt.Rows)
{
    bindableDt.Row.Add(dt.Rows[0], dt.Rows[1]);
}
gridview.Datasource = bindableDt;

----编辑----

重新审视您的问题,如果您将此绑定到gridview并且只想要某些信息,则应将这些值添加到新数据表中,然后仅显示新数据表

因此您需要执行类似

的操作
from numba import jit
@jit
def rownowaga_numba(u, v):
    wymiar_x = len(u)
    wymiar_y = len(u[1])
    f = [[[0 for j in range(wymiar_y)] for i in range(wymiar_x)] for k in range(9)]
    cx = [0., 1., 0., -1., 0., 1., -1., -1., 1.]
    cy = [0., 0., 1., 0., -1., 1., 1., -1., -1.]
    w = [4./9, 1./9, 1./9, 1./9, 1./9, 1./36, 1./36, 1./36, 1./36] 
    for i in range( wymiar_x):
        for j in range (wymiar_y):
            for k in range(9):
                up = u[i][j]
                vp = v[i][j]
                udot = (up**2 + vp**2)
                cu = up*cx[k] + vp*cy[k]
                f[k][i][j] =  w[k] + w[k]*(3.0*cu + 4.5*cu**2 - 1.5*udot)
     return f

答案 2 :(得分:0)

[此答案最初由@capricorn发送评论

SqlCommand cm = new SqlCommand("SELECT column3,column5 FROM Table_T")

这段代码运作得很好。感谢大家的帮助 。尊重和问候。