注意ADO.NET中数据查询语句中的符号格式(c#实现)

2008-01-28 13:58:51.0     浏览:2460     来源:e800.net频道
关键词:  符号     语句     NET     数据查询  

1、通配符的使用

在ADO.NET中允许使用通配符进行数据查询。如下面语句查询表中EmployeeID以A开头的所有数据:

Select EmployeeID,EmployName,Tel,

Salary .....where EmployeeID='A%';


ADO.NET允许在字符串的开头或结尾使用%或*通配符。如下面语句查询表中所有单号尾为S的单据:

Select productcode,productname,productsum,

productprice ........where ordercode='%S'

ADO.NET不允许使用单独的符号如"?","-"等。

2、分隔符的使用

a.引号

要注意ADO.NET中单引号的使用,例如在查询搜索用户姓名时,用户可能会查找姓名为K'Leey的数据,此时,数据查询语句将变为:

name='K'Leey'

在查询时,出现单引号时,应将之替换为两个单引号,即name='K''Leey',我们在实际操作中,当数据查询语句中出现单引号时,可以使用String类的Replace方法进行替换将“'”换成“''”,如

condition = "name='"+tempname.Replace("'","''")+"'"

b.日期

可以使用#符号来处理ADO.NET中涉及日期格式的查询,如下示例

condition = "endDate<#2005/09/07# and endDate>#2005/08/07#"

c.列分隔符

当数据表中的某列由于某些原因含有列分隔符时,如sale order,可以使用[]将此列区分开来,如下示例:

condition = "[sale order] = S845647"

此种情况下,如果数据列中已含有列分隔符做为列名的一部分时sale] order[,需要在列分隔符结束部分]前加入\符号,即

condition = "[sale\] order[] = S845647"

如果在C#中来处理这种ADO.NET操作时,需要注意符号转义问题,示例将变为:

condition = "[sale\\] order[] = S845647"