当前位置:编程学习 > C#/ASP.NET >>

这SQL语句有什么问题

select  ID,ParentID,Name,cast(substring(Name,patindex('%[1234567890]%',Name),len(Name) - patindex('%[1234567890]%',Name) + 1) as int) as lineindex from Printinfo order by lineindex,Name
--------------------编程问答-------------------- 发生什么问题了,
name不要直接用,加上方括号 [name] --------------------编程问答-------------------- 在语法上没有任何问题,你运行有错误吗? --------------------编程问答--------------------
引用 1 楼 bdmh 的回复:
发生什么问题了,
name不要直接用,加上方括号 [name]
--------------------编程问答--------------------
引用 2 楼 hdhai9451 的回复:
在语法上没有任何问题,你运行有错误吗?
--------------------编程问答-------------------- 要实现的功能是  只按照数字来排序 --------------------编程问答--------------------
引用 5 楼 styan00 的回复:
要实现的功能是  只按照数字来排序


select  ID,ParentID,oName,
ROW_NUMBER() OVER (ORDER BY ID) as lineindex from T_Product order by lineindex,oName


这样行不? --------------------编程问答--------------------
引用 6 楼 happy09li 的回复:
Quote: 引用 5 楼 styan00 的回复:

要实现的功能是  只按照数字来排序


select  ID,ParentID,oName,
ROW_NUMBER() OVER (ORDER BY ID) as lineindex from T_Product order by lineindex,oName


这样行不?
        public static DataSet Gettreelist()
        {
            string strSQL = "select ID,ParentID,Name,ROW_NUMBER() over(order by Name) as lineindex from Printinfo order by lineindex";
            OleDbConnection conn = new OleDbConnection(ConnStr);
            conn.Open();
            OleDbCommand cmd = new OleDbCommand(strSQL, conn);
            cmd.CommandType = CommandType.Text;
            try
            {
                OleDbDataAdapter da = new OleDbDataAdapter(cmd);
                DataSet ds = new DataSet();
                da.Fill(ds);
                return ds;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
                conn.Close();
                throw;
            }
        }
--------------------编程问答--------------------
引用 7 楼 styan00 的回复:
Quote: 引用 6 楼 happy09li 的回复:

Quote: 引用 5 楼 styan00 的回复:

要实现的功能是  只按照数字来排序


select  ID,ParentID,oName,
ROW_NUMBER() OVER (ORDER BY ID) as lineindex from T_Product order by lineindex,oName


这样行不?
        public static DataSet Gettreelist()
        {
            string strSQL = "select ID,ParentID,Name,ROW_NUMBER() over(order by Name) as lineindex from Printinfo order by lineindex";
            OleDbConnection conn = new OleDbConnection(ConnStr);
            conn.Open();
            OleDbCommand cmd = new OleDbCommand(strSQL, conn);
            cmd.CommandType = CommandType.Text;
            try
            {
                OleDbDataAdapter da = new OleDbDataAdapter(cmd);
                DataSet ds = new DataSet();
                da.Fill(ds);
                return ds;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
                conn.Close();
                throw;
            }
        }


再把你的name加上 中括号 [name] --------------------编程问答--------------------
引用 6 楼 happy09li 的回复:
Quote: 引用 5 楼 styan00 的回复:

要实现的功能是  只按照数字来排序


select  ID,ParentID,oName,
ROW_NUMBER() OVER (ORDER BY ID) as lineindex from T_Product order by lineindex,oName


这样行不?

Name 是nvarchar类型
想实现这样排序
只按照其中数字大小
Name
1你好
2你好
3你好
12你好
13你好
--------------------编程问答--------------------
引用 6 楼 happy09li 的回复:
Quote: 引用 5 楼 styan00 的回复:

要实现的功能是  只按照数字来排序


select  ID,ParentID,oName,
ROW_NUMBER() OVER (ORDER BY ID) as lineindex from T_Product order by lineindex,oName


这样行不?

是access数据库 --------------------编程问答--------------------   目测木有问题 --------------------编程问答-------------------- ACCESS数据库不能使用rownumber --------------------编程问答-------------------- --------------------编程问答-------------------- 只能分步执行了。
先将结果查询到一个表中,然后排序
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,