if type = '是' begin select * from Table order by 时间 desc end else begin select * from Table order by 时间 asc end
Dim sql As String Dim Cmd As New System.Data.SqlClient.SqlCommand(sql, conn) Dim rd As System.Data.SqlClient.SqlDataAdapter Dim ds As DataSet Dim dv As DataView conn.Open()
if type = '是' begin sql="select * from Table order by 时间 desc" end else begin sql="select * from Table order by 时间 asc" end rd = New System.Data.SqlClient.SqlDataAdapter(sql, conn) ds = New DataSet rd.Fill(ds, "hx_info") dv = ds.Tables("hx_info").DefaultView DataGrid1.DataSource = dv DataGrid1.DataBind()绑定的时候是这样写的吗???
if type = '是' begin select * from Table order by 时间 desc end else begin select * from Table order by 时间 asc end =========================================== 正解~~~
绑定的时候不是这样写的。if type = '是' begin select * from Table order by 时间 desc end else begin select * from Table order by 时间 asc end以上这段代码应该是存储过程的代码,把它放到一个存储过程中进行调用。不过如果不明白存储过程的调用的话,可以根据这段代码的思路自己在vb.net中实现。
如果不用存储过程的实现方法如下: bool bl=true;//这里是变量,可以通过request来进行修改 if(bl==true) { //数据库处理函数略 select * from Table order by 时间 desc} else { //数据库处理函数略 select * from Table order by 时间 asc }基本原理就是这样.
Select * From Table where ... ORDER BY CASE WHEN type='是' THEN 1 WHEN type='否' THEN 2 END,时间 desc/asc
Create Proc Proc_Info_Filter ( @SQLEx varchar(1000) ) as BEGIN DECLARE @strSQL VARCHAR(2000); SET @strSQL='SELECT * FROM VIEW_INFO_FILTER WHERE(1>0)'; IF(@SQLEx IS NOT NULL AND RTRIM(LTRIM(@SQLEx))<>'' AND @SQLEx<>N'') BEGIN SET @strSQL=@strSQL+@SQLEx; END exec(@strSQL); END --在前台传查询条件就可以了在 string strSQL=""; if(ckbl.checked==true) { strSQL+=" ORDER BY ID DESC"; } ELSE { strSQL+=" ORDER BY ID ASC"; }
begin
select * from Table order by 时间 desc
end
else
begin
select * from Table order by 时间 asc
end
Dim Cmd As New System.Data.SqlClient.SqlCommand(sql, conn)
Dim rd As System.Data.SqlClient.SqlDataAdapter
Dim ds As DataSet
Dim dv As DataView
conn.Open()
if type = '是'
begin
sql="select * from Table order by 时间 desc"
end
else
begin
sql="select * from Table order by 时间 asc"
end rd = New System.Data.SqlClient.SqlDataAdapter(sql, conn)
ds = New DataSet
rd.Fill(ds, "hx_info")
dv = ds.Tables("hx_info").DefaultView
DataGrid1.DataSource = dv
DataGrid1.DataBind()绑定的时候是这样写的吗???
begin
select * from Table order by 时间 desc
end
else
begin
select * from Table order by 时间 asc
end
===========================================
正解~~~
begin
select * from Table order by 时间 desc
end
else
begin
select * from Table order by 时间 asc
end以上这段代码应该是存储过程的代码,把它放到一个存储过程中进行调用。不过如果不明白存储过程的调用的话,可以根据这段代码的思路自己在vb.net中实现。
bool bl=true;//这里是变量,可以通过request来进行修改
if(bl==true)
{
//数据库处理函数略
select * from Table order by 时间 desc}
else
{
//数据库处理函数略
select * from Table order by 时间 asc
}基本原理就是这样.
CASE WHEN type='是' THEN 1
WHEN type='否' THEN 2
END,时间 desc/asc
select * from table order by type desc
else
select * from table order by type asc
type=是,按时间降序显示在datagrid前面type=否,按时间降序显示在datagrid后面,就是所有记录type=是,要显示在type=否,的前面,用datagrid显示
(
@SQLEx varchar(1000)
)
as
BEGIN
DECLARE @strSQL VARCHAR(2000);
SET @strSQL='SELECT * FROM VIEW_INFO_FILTER WHERE(1>0)';
IF(@SQLEx IS NOT NULL AND RTRIM(LTRIM(@SQLEx))<>'' AND @SQLEx<>N'')
BEGIN
SET @strSQL=@strSQL+@SQLEx;
END
exec(@strSQL);
END
--在前台传查询条件就可以了在
string strSQL="";
if(ckbl.checked==true)
{
strSQL+=" ORDER BY ID DESC";
}
ELSE
{
strSQL+=" ORDER BY ID ASC";
}