假如有一行数据是:
ID start end
1 1 100如何实现根据start与end的值,查询出来的结果将这一行拆分成若干行?
期望结果集是:
ID start end
1 1 1
1 1 2
1 1 3
………………
1 1 100
总计就要有一百行了。
ID start end
1 1 100如何实现根据start与end的值,查询出来的结果将这一行拆分成若干行?
期望结果集是:
ID start end
1 1 1
1 1 2
1 1 3
………………
1 1 100
总计就要有一百行了。
解决方案 »
- 关于datagridview 显示方面的问题
- 反编译软件
- 一个guid生成的值传到作为参数传到方法里面后,这个值发生了变化
- 如何在客户端定时自动这样的功能:通过http协议post发送数据
- 求助:在VB中控件ListView有ItemClick(ByVal item as MSComctlLib.ListItem)事件,请问在C#中如何实现?
- 能这样吗?
- winForm中的DataGrid如何进行分页
- ping成功,tenlet80端口失败
- 怎样用Marshal.ReleaseComObject释放对象?
- 20分,一个很简单的问题
- ~~~~南来的北往的进来 看看啊`~~~~在线等
- 求助:如何判断2个DATASET的数据和构造万一一致
其实我现在正在做这件事。
我只是想如果能写一条标准的,基本的,与数据库无关的语句,就可以省去一些麻烦~~
先谢谢了。不过这种方案不可行。因为涉及到数据库迁移。之所以想要一条基本的标准SQL语句,也是因为这个原因~~,没办法,我就只能在程序里拆了
dt.Columns.Add("ID",typeof(int));
dt.Columns.Add("start",typeof(int));
dt.Columns.Add("end",typeof(int));
dt.AcceptChanges();
object[] obj = {1,1,100};
dt.Rows.Add(obj);
int start = Convert.ToInt32(dt.Rows[0]["start"]);
int end = Convert.ToInt32(dt.Rows[0]["end"]);
int id = Convert.ToInt32(dt.Rows[0]["ID"]);
for( int i=start; i<end+1; i++ )
{
DataRow drNew = dt.NewRow();
drNew["ID"] = id;
drNew["start"] = start;
drNew["end"] = i;
dt.Rows.Add(drNew);
}
dt.Rows.Remove(dt.Rows[0]);
dt.AcceptChanges();
========================================
看来只能在程序中做了。
因为必须使用存储过程,不太可能做到都符合sql92标准,会有数据库迁移的问题