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

无效的 SQL语句

异常详细信息: System.Data.OleDb.OleDbException: 无效的 SQL语句;期待 'DELETE'、'INSERT'、'PROCEDURE'、'SELECT'、或 'UPDATE'。
我用的是access数据库,主键是自动编号,
string sql = "delele from hyb where id=‘" + e.CommandArgument+“‘ ; --------------------编程问答-------------------- string   sql   =   "delele   from   hyb   where   id=‘ "   +   e.CommandArgument+“‘ “ ; --------------------编程问答-------------------- =‘ "   +   e.CommandArgument+“‘  单引号有问题吧,好像是中文模式下的. --------------------编程问答-------------------- 1. ‘ 是全角的,要用半角的
2. 最后少了一个双引号
当然,如果是自动编号,就不应该用引号
string   sql   =   "delele   from   hyb   where   id="   +   e.CommandArgument ; --------------------编程问答-------------------- string   sql   =   "delele   from   hyb   where   id="   +   e.CommandArgument  ;
这样就可以了! --------------------编程问答-------------------- 整型前后不能加单引号,这样:

string sql = "delele from hyb where id=" + e.CommandArgument;
--------------------编程问答-------------------- jetsql

delete * from .. --------------------编程问答-------------------- 另外你的语句里'是全角的.

如果你的id是数字类型的.

string   sql   =   "delele  * from   hyb   where   id="   +   e.CommandArgument;
或者
string   sql   =   "delele  * from   hyb   where   id='"   +   e.CommandArgument + "'";

都是可以的.
--------------------编程问答-------------------- delele改为delete 单词写错了···· --------------------编程问答-------------------- 数字类型 用字串定界符  ' ' 是会隐式转换的.

所以 delete * from tb where id='5'

delete * from tb where id=5
没有区别

但是如果id是文本类型的(含有不可转换为数字的值),那么必须使用字串定界符. --------------------编程问答-------------------- 看看你的e.CommandArgument是否有值。 --------------------编程问答-------------------- string       sql       =       "delele       from       hyb       where       id="       +       e.CommandArgument     ;  --------------------编程问答-------------------- 汗~~ --------------------编程问答-------------------- delete 不是delele 整型字段不加引号 --------------------编程问答-------------------- 说了单词写错了···怎么还还搞定咧··· --------------------编程问答--------------------
---> delete * from ???? 

这也行? 
--------------------编程问答-------------------- "delele from hyb where id=" + e.CommandArgument  --------------------编程问答-------------------- tds__609 
近世进士尽是近视⊙-⊙  
等 级:
 发表于:2008-01-29 13:18:2415楼 得分:0 

--->   delete   *   from   ????   

这也行?    
 
----------------------


标准jetsql语法

DELETE [表.*]
    FROM 表
    WHERE标准

当然,不加*也是可以的. 印像中前些年用时,早期的不行.

t-sql不能加* --------------------编程问答-------------------- string   sql   =   "delele   from   hyb   where   id="   +   e.CommandArgument+“  ; --------------------编程问答-------------------- 谢谢大家的发表解决了,非常感谢。
--------------------编程问答-------------------- string sql = "delele   from   hyb   where   id='"+e.CommandArgument+"'";
--------------------编程问答-------------------- 整形加不加单引号都可以. --------------------编程问答-------------------- 汗 --------------------编程问答-------------------- 晕 --------------------编程问答-------------------- 我是彻底的无语啊...... --------------------编程问答-------------------- string  sql  = "delele from  hyb where  id="+e.CommandArgument+“ --------------------编程问答-------------------- delete写错了 --------------------编程问答-------------------- access数据库整型不要加单引号,改成delele   from   hyb   where   id="   +   e.CommandArgument就可以了.sqlserver oracle加不加都可以.    --------------------编程问答-------------------- 我也都跟着lz把delete写错了 --------------------编程问答-------------------- 只是半角全角的问题,切换到英文输入法状态下重写一遍就OK了 --------------------编程问答-------------------- 1.   ‘   是全角的,要用半角的 
2.   最后少了一个双引号 
当然,如果是自动编号,就不应该用引号 
string       sql       =       "delele       from       hyb       where       id="       +       e.CommandArgumen --------------------编程问答-------------------- string   sql   =   "delele   from   hyb   where   id=‘ "   +   e.CommandArgument+“‘   ; 单词错,单引号,双引号错 --------------------编程问答-------------------- 语句本身有问题!
如果是access

delete * from hyb  where id= "+ e.CommandArgument+"
//如果编号是不用单引号的,楼主少了个*号

delete hyb where id="+ e.CommandArgument+"
//这是SQl的语法
--------------------编程问答--------------------  string sql="delete from hyb where id='"+e.CommandArgument+"'"; --------------------编程问答-------------------- string sql =  "delele from [hyb] where [id]='"+ e.CommandArgument +"'; --------------------编程问答-------------------- string       sql       =       "delele     from       hyb       where       id="       +       e.CommandArgument; 
OR 
string       sql       =       "delele    from       hyb       where       id='"       +       e.CommandArgument   +   "'"; 
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,