Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 选择别名为的列时发生SQL异常_C#_Alias_Sqlexception - Fatal编程技术网

C# 选择别名为的列时发生SQL异常

C# 选择别名为的列时发生SQL异常,c#,alias,sqlexception,C#,Alias,Sqlexception,我的SQL查询是 cmd = new OleDbCommand("select vchr_No as voucher No, vchr_Date as Date, vchr_Acnthd as Debit, vchr_Prtynm as Paid to from cshvchrs where vchr_No like '%" + vchno +

我的SQL查询是

cmd = new OleDbCommand("select vchr_No as voucher No, vchr_Date as Date, 
                        vchr_Acnthd as Debit, vchr_Prtynm as Paid to 
                        from cshvchrs  
                        where vchr_No like '%" + vchno + "%' ", con);
当我尝试检索数据时,出现异常:

SELECT语句包含拼写错误或缺少的保留字或参数名称,或者标点符号不正确


请任何人帮助我

您正在使用
Date
作为别名(
vchr\u Date作为Date
)<代码>日期是保留关键字,请尝试:

vchr_Date as [Date]
或者将日期更改为其他别名


您还需要在带有空格的别名周围使用
[]

vchr\u Date as Date
部分

Date
是Transact-SQL上的一个参数

保留关键字是Transact-SQL语言语法的一部分 SQL Server用来解析和理解Transact-SQL的 语句和批处理

您可以使用方括号
[]

vchr_Date as [Date]
使用您的完整查询作为

cmd = new OleDbCommand("select vchr_No as [voucher No] ,vchr_Date as [Date] ,vchr_Acnthd as Debit ,vchr_Prtynm as Paid to from cshvchrs  where vchr_No like '%" + vchno + "%' ", con);

您的SQL无效-需要对包含空格的别名以及作为关键字的别名进行转义

cmd = new OleDbCommand("select vchr_No as [voucher No] ,vchr_Date as [Date] ,vchr_Acnthd as Debit ,vchr_Prtynm as Paid to from cshvchrs  where vchr_No like '%" + vchno + "%' ", con);

您指定的列名不正确。例如,片段:

vchr_No as voucher No
应表示为

vchr_No as [voucher No]
否则您将没有有效的SQL

通常,您需要在包含空格、标点符号、关键字或SQL列标识符中不允许的任何其他字符的列名周围放置[和]