ADO.net和DataGrid的小问题两个,推者有分,高手请进 1。 在DataTable里加入一个 Identity 列2。 使用 ToLongTime() 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 DataTable里怎么自己加列呢?给我看看代码。帮你顶 2.select datepart(min,getdate())+datapart(ss,getdate())+datapart(ms,getdate()) from table /// <summary> /// 翻页的类 /// </summary> public class DataTablePage { protected SqlConnection m_conn=null; protected DataSet m_ds=null; protected SqlDataAdapter m_cmd = null; protected int m_iPageSize = 10; protected int m_iPageIndex = 1; protected int m_iIndex = 0; /// <summary> /// 等到一个记录集合 /// </summary> /// <param name="conn">数据连接</param> /// <param name="sql">SQL查询</param> public DataTablePage(SqlConnection conn,string sql) { m_conn = conn; m_ds = new DataSet(); m_cmd=new SqlDataAdapter(sql,conn); m_cmd.Fill(m_ds,"alldata"); } /// <summary> /// 得到翻页一个记录集合,只读属性 /// </summary> public DataTable DataTable { get { if(m_ds.Tables["rs"]==null) { m_cmd.Fill(m_ds,Index,PageSize,"rs"); } return m_ds.Tables["rs"]; } } public DataTable DataTableOther { get { if(m_ds.Tables["rsOther"]==null) { m_cmd.Fill(m_ds,Index+PageSize,this.Count-Index-PageSize,"rsOther"); } return m_ds.Tables["rsOther"]; } } /// <summary> /// 得到所有记录 /// </summary> public DataTable DataTableAll { get { return m_ds.Tables["alldata"]; } } public int Count { get { return DataTableAll.Rows.Count; } } public int PageNum { get { int i = Count/PageSize; if(i*PageSize!=Count)i++; return i; } } /// <summary> /// 每页记录数 /// </summary> public int PageSize { get { return m_iPageSize; } set { m_iPageSize = value; } } /// <summary> /// 页数 /// </summary> public int Page { get { return m_iPageIndex; } set { m_iPageIndex = value; m_iIndex = (m_iPageIndex-1)*PageSize; } } public int Index { get { return this.m_iIndex; } set { m_iIndex = value; } } } 分页的例子帮助里有:.net framework/使用.net framework编程/通过ADO.net访问数据库/ADO.NET 方案示例/查询结果分页里面比较了几种分页方法,可以参考下 多谢楼上的回复人: redbb(. Dotneter .) ( ) 信誉:89 和 回复人: csdnzxy(飞翔) ( ) 信誉:100 虽然你们提供的东西对我作用不是很大。呵呵我在想,如果我在对数据集的defaultdataview设置了rowfilter的话,再分页怎么弄?虽然在fill方法时用redbb 的方法分页很有效,但在这种情况下怎么弄呢?有办法吗?等大家推或回复,两天后结帖。 第2个问题,在SQL语句里显式的写时间格式, 用 Convert 或 Cast 都可以。分页最好的就是从数据库里读出来时就按页来读,否则实在没有什么意义,不节约空间也不节约时间,字符串也有顺序,每次按顺序读前n条,用上次读到的页尾的键值作条件。select top n * from Twhere key > lastkey 关于我在想,如果我在对数据集的defaultdataview设置了rowfilter的话,再分页怎么弄?虽然在fill方法时用redbb 的方法分页很有效,但在这种情况下怎么弄呢?有办法吗?等大家推或回复,两天后结帖。这个道理跟一般翻页是一样的! 大家看看我要怎么写才好 "多线程跨窗体传值?" iis6 thinkphp 配置 (急) 谁有datawindow.net的在c#使用的详细资料? 高分求助 有谁用过WMRM10 SDK? C#命名规范问题 春节过了,开始找工作了,有成都的公司吗? 窗体的显示及隐藏 多表单中如果访问另一个表单(Form)中的控件、及其内容??? 怎样在网页中嵌入WinForm(windows窗体)(求救!!!) 求助:如何在DataGrid中实现tab键使DataGrid控件单元格显示下拉条,并且下拉条得到焦点
给我看看代码。
帮你顶
/// 翻页的类
/// </summary>
public class DataTablePage
{
protected SqlConnection m_conn=null;
protected DataSet m_ds=null;
protected SqlDataAdapter m_cmd = null;
protected int m_iPageSize = 10;
protected int m_iPageIndex = 1;
protected int m_iIndex = 0;
/// <summary>
/// 等到一个记录集合
/// </summary>
/// <param name="conn">数据连接</param>
/// <param name="sql">SQL查询</param>
public DataTablePage(SqlConnection conn,string sql)
{
m_conn = conn;
m_ds = new DataSet();
m_cmd=new SqlDataAdapter(sql,conn);
m_cmd.Fill(m_ds,"alldata");
}
/// <summary>
/// 得到翻页一个记录集合,只读属性
/// </summary>
public DataTable DataTable
{
get
{
if(m_ds.Tables["rs"]==null)
{
m_cmd.Fill(m_ds,Index,PageSize,"rs");
}
return m_ds.Tables["rs"];
}
}
public DataTable DataTableOther
{
get
{
if(m_ds.Tables["rsOther"]==null)
{
m_cmd.Fill(m_ds,Index+PageSize,this.Count-Index-PageSize,"rsOther");
}
return m_ds.Tables["rsOther"];
}
}
/// <summary>
/// 得到所有记录
/// </summary>
public DataTable DataTableAll
{
get
{
return m_ds.Tables["alldata"];
}
}
public int Count
{
get
{
return DataTableAll.Rows.Count;
}
}
public int PageNum
{
get
{
int i = Count/PageSize;
if(i*PageSize!=Count)i++;
return i;
}
}
/// <summary>
/// 每页记录数
/// </summary>
public int PageSize
{
get
{
return m_iPageSize;
}
set
{
m_iPageSize = value;
}
}
/// <summary>
/// 页数
/// </summary>
public int Page
{
get
{
return m_iPageIndex;
}
set
{
m_iPageIndex = value;
m_iIndex = (m_iPageIndex-1)*PageSize;
}
}
public int Index
{
get
{
return this.m_iIndex;
}
set
{
m_iIndex = value;
}
}
}
.net framework/使用.net framework编程/通过ADO.net访问数据库/ADO.NET 方案示例/查询结果分页
里面比较了几种分页方法,可以参考下
虽然你们提供的东西对我作用不是很大。呵呵我在想,如果我在对数据集的defaultdataview设置了rowfilter的话,再分页怎么弄?虽然在fill方法时用redbb 的方法分页很有效,但在这种情况下怎么弄呢?有办法吗?等大家推或回复,两天后结帖。
select top n * from T
where key > lastkey