首页 > 编程 > .NET > 正文

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

2024-07-21 02:27:29
字体:
来源:转载
供稿:网友

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"



发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表