一张学生表id name
1 张三
2 李四
3 王五
4 aa
5 bb
6 cc
7 dd
8 tt
9 美眉在asp.net中以两个空件的形式显示在页面上(不限用什么控件显示)显示结果是:id name id name
1 张三 5 bb
2 李四 6 cc
3 王五 7 dd
4 aa 8 tt
9 美眉如果是10条数据:一张学生表id name
1 张三
2 李四
3 王五
4 aa
5 bb
6 cc
7 dd
8 tt
9 美眉
10 通通显示结果就是:id name id name
1 张三 6 cc
2 李四 7 dd
3 王五 8 tt
4 aa 9 美眉
5 bb 10 通通
顶,和sql没关系,用DataList就好
3 4
5 6
7 8楼主要的是
1 5
2 6
3 7
4 8这个也能显示?
--此处假设id是连续的,如果不连续,请参考sql2005 row num over方法declare @totalNum int,@firstNum int;
select @totalNum = count(*) from table;set @firstNum = @totalNum /2; --此处是否为整数自己查查,忘了是不是整除-_-
select * from table where id < @firstNum;
select * from table where id between @firstNum and @totalNum;
这样除的话出来的数不会是整数吧?
如果是5呢
存储过程是不是要写个判断语句呢?
{
using (SqlConnection sqlconn = new SqlConnection("Data Source=.;Initial Catalog=dbtest;Integrated Security=True"))
{
sqlconn.Open();
string sql = "select * from test";
SqlCommand sqlcomm = new SqlCommand(sql, sqlconn);
SqlDataReader reader = sqlcomm.ExecuteReader();
DataTable table = new DataTable();
DataTable table1 = new DataTable();
DataTable table2 = new DataTable();
DataColumn column = new DataColumn("编号");
DataColumn column1 = new DataColumn("姓名");
//DataColumn column2 = new DataColumn("地址");
table1.Columns.Add(column);
table1.Columns.Add(column1);
//table1.Columns.Add(column2);
DataColumn column3 = new DataColumn("编号");
DataColumn column4 = new DataColumn("姓名");
//DataColumn column5 = new DataColumn("地址");
table2.Columns.Add(column3);
table2.Columns.Add(column4);
//table2.Columns.Add(column5); table.Load(reader);
int num = 0;
int temp = table.Rows.Count / 2;
foreach (DataRow row in table.Rows)
{
if (temp > num)
{
DataRow newrow = table1.NewRow();
newrow[0] = row[0];
newrow[1] = row[1];
//newrow[2] = row[2];
table1.Rows.Add(newrow);
}
else
{
DataRow newrow = table2.NewRow();
newrow[0] = row[0];
newrow[1] = row[1];
//newrow[2] = row[2];
table2.Rows.Add(newrow);
}
num++;
}
GridView1.DataSource = table1;
GridView2.DataSource = table2;
GridView1.DataBind();
GridView2.DataBind(); }
}
protected void Button2_Click(object sender, EventArgs e)
{
show();
}
declare @action int //检索前半部分1 或者后半部分2 数据
declare @count int
declare @type int
declare @sql nvarchar(500)//查询记录数
select @count = count(*) from tableselect @type=mod(@count,2) from table//检索数据
if(@action=1)
begin
if(@type=0)
begin
set @sql='select top ' +cast((@count/2) as nvarchar(100))+' * from table'
end
else if(@type=1)
begin
set @sql='select top ' +cast((@count-1)/2 as nvarchar(100))+' * from table'
end
end
else if(@action=1)
begin
//取后部分函数和前面一样
end
declare @count int
declare @type int
declare @sql nvarchar(500)//查询记录数
select @count = count(*) from tableselect @type=mod(@count,2) from table//检索数据
if(@action=1)
begin
if(@type=0)
begin
set @sql='select top ' +cast((@count/2) as nvarchar(100))+' * from table'
end
else if(@type=1)
begin
set @sql='select top ' +cast((@count-1)/2 as nvarchar(100))+' * from table'
end
end
else if(@action=1)
begin
//取后部分函数和前面一样
end