c# winform 怎么查询datatable里面的数据

c# winform 怎么查询datatable里面的数据,第1张

可以通过listView控件显示datatable里面的数据,方法大致如下

listView1.Columns.Add("名字", 200, HorizontalAlignment.Center)//表头名,长度,格式

listView1.Columns.Add("密码", 70)

listView1.Columns.Add("状态", 120, HorizontalAlignment.Center)

listView1.GridLines = true//显示表格线

listView1.View = View.Details//显示表格细节

listView1.HeaderStyle = ColumnHeaderStyle.Clickable//对表头进行设置

listView1.FullRowSelect = true//是否可以选择行

..后面还很属性自己去研究,后面就是绑定数据了

DataTable dt=“查询出来的数据"//数据查询什么的就不啰嗦了

for (int i = 0i <dt.Rows.Counti++)

{

ListViewItem[] listViewItem = new ListViewItem[1]

listViewItem[0] = new ListViewItem(new string[] { dt.Rows[i]["名字字段"].ToString(), dt.Rows[i]["密码字段"].ToString(), dt.Rows[i]["状态字段"].ToString()})

listView1.Items.AddRange(listViewItem)

}

首先你的查询逻辑里就是根据两个时间点返回一个数据源例如:DataTable/DataSet/Xml等

数据库连接字符例如:var connStr = Configuration.AppSetting["connStr"]

如:

public DataTable GetDataTable(DateTime? dtStart,DateTime? dtEnd)

{

var sql = "select * from [Table] Where 1 = 1 "

if(dtStart.HasValue&&dtStart.Value!=DateTime.MinValue)

{

sql+= " and [Filed]>='"+dtStart+"' "

}

if(dtEnd.HasValue&&dtEnd.Value!=DateTime.MinValue)

{

sql+=" and [Field]<='"+dtEnd+"' "

}

return GetTable(sql,connStr)

}

private DataTable GetTable(string sql,string connectionString)

{

DataTable table = null

var conn = new SqlConnection(connectionStrng)

try

{

conn.Open()

var cmd = new SqlCommand(sql,conn)

var sqlAdapter = new SqlAdapter()

table = new DataTable()

sqlAdaper.command = cmd

sqlAdapter.Fill(table)

}

catch(Exceiption ex)

{

throw nex Exception(ex)

}

finally

{

conn.Close()

return table

}

}

以上是C#实现的,一般都差不多这样写,但用ORM的话更简单,暂不提

如果是在sql里实现的话,更简单

select * from tablename where time between(time1,time2)

给段代码 使用数据库是vs2005自带的sql express。当然 不同的数据库连接字符串不一样 但是GetDataSet(string sql, string tablename)

方法是通用的~参数sql是你sql查询语句 tablename是输出地表明 可以随便添

public static string ConnectionString = "Data Source=.\\SQLEXPRESSAttachDbFilename=数据库文件路径Integrated Security=TrueConnect Timeout=30User Instance=True"

public DataSet GetDataSet(string sql, string tablename)

{

DataSet ds = new DataSet()

SqlConnection con = new SqlConnection(DataAccess.ConnectionString)

SqlDataAdapter da = new SqlDataAdapter(sql, con)

try

{

da.Fill(ds, tablename)

if (ds.HasChanges()) da.Update(ds)

}

catch (Exception ex)

{

MessageBox.Show("打开数据库表错误:" + ex.Message, "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information)

}

finally

{

con.Close()

con.Dispose()

da.Dispose()

}

return ds

}

使用方法 datagridview1.datasource=GetDataSet("select * from student where name="姚明"","table1") //datagridview1当然是你winfrom里的一个datagridview


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9896767.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-03
下一篇2023-05-03

发表评论

登录后才能评论

评论列表(0条)

    保存