sql = "select top 1 * from T_Movie where Projection >"+time+"order by Projecti

问题描述

也已经定义了time,publicstringtime=System.DateTime.Now.ToString("yyyy年MM月dd日");但运行提示异常详细信息:System.Exception:'年11月24日order'附近有语法错误。请问哪位大侠能帮帮我这个菜鸟看看,语句存在什么问题,如果我需要显示比当前时间大的记录呢?灰常感谢啦,麻烦啦

解决方案

解决方案二:
参数格式化不要带中文进去publicstringtime=System.DateTime.Now.ToString("yyyy-MM-dd")sql语句参数加单引号'selecttop1*fromT_MoviewhereProjection>'"+time+"'orderbyProjection
解决方案三:
sql="selecttop1*fromT_MoviewhereProjection>cast('"+time+"'asdate)orderbyProjecti"
解决方案四:
字符串要转化成时间类型
解决方案五:
引用1楼chenlilinman的回复:

参数格式化不要带中文进去publicstringtime=System.DateTime.Now.ToString("yyyy-MM-dd")sql语句参数加单引号'selecttop1*fromT_MoviewhereProjection>'"+time+"'orderbyProjection

orderbyProjection前面加个空格
解决方案六:
sql="selecttop1*fromT_MoviewhereProjection>cast('"+time+"'asdatetime)orderbyProjecti"
解决方案七:
引用5楼hhqsy的回复:

sql="selecttop1*fromT_MoviewhereProjection>cast('"+time+"'asdatetime)orderbyProjecti"

++
解决方案八:
DateTimetime=System.DateTime.Now;sql="selecttop1*fromT_MoviewhereProjection>'"+time+"'orderbyProjectionTime";

解决方案九:
断点运行的时候把字符串复制出来。。然后贴到数据库里面运行,看报什么错误就知道了。。。。
解决方案十:
引用4楼chenlilinman的回复:

引用1楼chenlilinman的回复:参数格式化不要带中文进去publicstringtime=System.DateTime.Now.ToString("yyyy-MM-dd")sql语句参数加单引号'selecttop1*fromT_MoviewhereProjection>'"+time+"'orderbyProjection……

++
解决方案十一:
publicstringtime=System.DateTime.Now.ToString("yyyy-MM-dd")//"+time+"必须再转换成datetimedatetimedt=convert.Todatetime(time);selecttop1*fromT_MoviewhereProjection>dtorderbyProjection
解决方案十二:
dt改为'"+dt+"'
解决方案十三:
引用1楼chenlilinman的回复:

参数格式化不要带中文进去publicstringtime=System.DateTime.Now.ToString("yyyy-MM-dd")sql语句参数加单引号'selecttop1*fromT_MoviewhereProjection>'"+time+"'orderbyProjection

谢谢!可是Projection是一个varchar型的字段来的,并不是时间类型,输入格式为xxxx年xx月xx日,该如此更改才行呢,
解决方案十四:
引用1楼chenlilinman的回复:

参数格式化不要带中文进去publicstringtime=System.DateTime.Now.ToString("yyyy-MM-dd")sql语句参数加单引号'selecttop1*fromT_MoviewhereProjection>'"+time+"'orderbyProjection

谢谢,你说的没错。成功了。非常感谢你。
解决方案十五:
谢谢各位热心回答,谢谢你们的帮忙。

时间: 2024-09-10 16:36:57

sql = "select top 1 * from T_Movie where Projection >"+time+"order by Projecti的相关文章

sql初级教程:select top 使用教程

sql初级教程:select top 使用教程 好了下面我们来看看在select top 的语法吧. 如mssql :select top 10 from table_name 在mysql:select * from table_name limit 0,10 SELECT TOP number|percent column_name(s) FROM table_name 下面我们来看个实例教程. _Id LastName FirstName Address City 1 Hansen Ola

随机出题string strsql = "select top 1 * from Question order by newid()";

问题描述 privateintclickCount=0;stringstrconn="DataSource=.;InitialCatalog=Exam;IntegratedSecurity=True";privatevoidbutton1_Click(objectsender,EventArgse){SqlConnectionconn=newSqlConnection(strconn);conn.Open();stringstrsql="selecttop1*fromQues

如何解决access 中 SELECT TOP 1语句竟然返回多条记录的问题?

access|select|解决|问题|语句 如何解决 SELECT TOP 1语句竟然返回多条记录的问题?    简述:如何解决 SELECT TOP 1语句竟然返回多条记录的问题    问题: 如何解决 SELECT TOP 1语句竟然返回多条记录的问题? SELECT TOP 9 title,id,hit FROM Article WHERE DATEDIFF('h',[ShowDateB],Now())>=0可以正确显示前9条 SELECT TOP 9 title,id,hit FROM

db2中的Select语句如何实现MSSql中Select Top n的语法功能?

问题描述 db2中的Select语句如何实现MSSql中Select Top n的语法功能? 解决方案 Select Top在不同数据库中的使用用法: 1. Oracle数据库 <CENTER><CCID_NOBR> SELECT * FROM TABLE1 WHERE ROWNUM<=N 2. Infomix数据库 SELECT FIRST N * FROM TABLE1 3. DB2数据库 SELECT * ROW_NUMBER() OVER(ORDER BY COL1

Select Top在不同数据库中的使用

1. oracle数据库 SELECT * FROM TABLE1 WHERE ROWNUM<=N 2. Infomix数据库 SELECT FIRST N * FROM TABLE1 3. DB2数据库 SELECT * ROW_NUMBER() OVER(ORDER BY COL1 DESC) AS ROWNUM WHERE ROWNUM<=N 或者 SELECT COLUMN FROM TABLE FETCH FIRST N ROWS ONLY 4. SQL Server数据库 SELE

SQL 语句select top 变量问题

  今天我在写一个存储过程的时候,想动态的取若干行出来,开始用拼接字符串也可以,但是总觉得不好,就在网上查资料,找到一种方式,但是怎么也没有成功,后来终于发现是该方法不能在SQL2000中使用,只能在SQL2005以上使用. 1.拼接查询语句(SQL2000,2005,2008均可) DECLARE @a AS INT SET @a=1 EXEC('SELECT TOP '+@a+' * FROM mtrcLanguages') 2.直接使用(适用SQL2005以上) DECLARE @a AS

讨论: SELECT TOP N问题 (2)

select|问题 Hi,everyone: 今天继续讨论SELECT TOP N问题. 1. DB2的M 2在前一篇讨论中提到,由于DB2的SUBQUERY不支持ORDER BY子句,因此无法构造M2. 实际上,DB2提供了一组新的函数,称为 OLAP FUNCTIONS, 可以很好的支持TOP N问题.M2:SELECT * FROM    (    SELECT MYKEY,RANK() OVER (ORDER BY ORD_COL DESC) AS MYRANK        FROM

讨论: SELECT TOP N 问题

select|问题 Hi, everyone:    本贴讨论SELECT TOP N问题.    现在正在一家计算机公司兼职,开发ASP应用. 在最近的一个商业项目里有这样一个需求:用户在查询时,只需要按照某(些)列排序后TOP 20的纪录. SQL SERVER 7很好地支持了TOP N 操作,但考虑到系统移植问题, 我又考虑在其他几个主流DBMSs中如何实现. 鉴于只有DB2 UDB 7,ORACLE 8i,SQL SERVER 7,本贴仅讨论这三个DBMS.    简单地说,TOP N问

ORACLE中实现SELECT TOP N的方法

1.在ORACLE中实现SELECT TOP N 由于ORACLE不支持SELECT TOP语句,所以在ORACLE中经常是用ORDER BY跟ROWNUM的组合来实现SELECT TOP N的查询. 简单地说,实现方法如下所示: SELECT 列名1...列名n FROM (SELECT 列名1...列名n FROM 表名 ORDER BY 列名1...列名n) WHERE ROWNUM <= N(抽出记录数) ORDER BY ROWNUM ASC 下面举个例子简单说明一下. 顾客表cust