打印本文 打印本文 关闭窗口 关闭窗口
注意ADO。NET中数据查询语句中的符号格式(c#实现)
作者:武汉SEO闵涛  文章来源:敏韬网  点击数781  更新时间:2009/4/23 10:39:01  文章录入:mintao  责任编辑:mintao

                  注意ADO。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"

打印本文 打印本文 关闭窗口 关闭窗口