发信人: fbilo() 
整理人: hunter__fox(2002-03-16 22:15:50), 站内信件
 | 
 
 
3.建立并执行SQL语句的查询
 在通过上述方法检验并转换了值的数据类型后,建立SQL语句的准备工作完成了。 具体建立SQL语句的方法是表单的自定义方法bldsql,通过在组合框、文本框、条 件选项按钮的interactivechange事件使用该方法来动态建立在文本框edtsql中的 SQL语句。然后,使用按钮cmdExecute的click事件中的自定义过程来使用生成的 SQL语句并浏览其结果。
 Bldsql方法:
 1.变量声明
 ***********************************************************
 LOCAL lcOperand,lcWHERE, lcField1, lcRelation1, lcValue1, ;
 	lcField2, lcRelation2, lcValue2, lcAlias, lcSQL, lcType
 ***********************************************************
 
 2.确定已正确输入条件的值
 ***********************************************************
 IF  EMPTY(THISFORM.cboField1.Value)
 	 THISFORM.cmdExecute.Enabled = .F.
 	 RETURN
 ELSE
 	IF  THISFORM.opgOperand1.Value > 0 AND ;
 			EMPTY(THISFORM.cboField2.Value)
 		THISFORM.cmdExecute.Enabled = .F.
 		RETURN
 	ENDIF
 ENDIF
 ***********************************************************
 --首先判断组合框cboField1是否为空,如是,则未正确输入条件,禁止使用Run Sql命令按钮cmdExecute并返回。
 --在组合框cboField1不为空的情况下,判断添加and/or选项按钮组opgOperand1 的值是否大于0(即已选定了添加and/or)并且组合框cboField2是否为空,如果 两者成立,则禁止使用RunSql命令按钮cmdExecute并返回。
 
 3.给变量赋值
 ***********************************************************
 lcWHERE = ""
 lcAlias = ALIAS()
 
 ** Retrieve the values of the controls into variables
 lcField1 = THISFORM.cboField1.Value
 lcRelation1 = THISFORM.cboRelation1.Value
 lcValue1 = ALLTRIM(THISFORM.txtValue1.Value)
 
 DO CASE
 	CASE THISFORM.opgOperand1.Value = 0
 		lcOperand = ""
 	CASE THISFORM.opgOperand1.Value = 1
 		lcOperand = "AND"
 	CASE THISFORM.opgOperand1.Value = 2
 		lcOperand = "OR"
 ENDCASE
 
 lcField2 = THISFORM.cboField2.Value
 lcRelation2 = THISFORM.cboRelation2.Value
 lcValue2 = ALLTRIM(THISFORM.txtValue2.Value)
 ***********************************************************
 
 4.使用表单的ValidateType方法将要查询的值转换为正确的数据格式后存入变量 。
 ***********************************************************
 ** Need to put the proper delimiters around comparison values of certa in **types
 lcValue1 = THISFORM.ValidateType(THIS.cboField1.Value,lcValue1)
 ***********************************************************
  -- ※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.96.101.254]
  | 
 
 
 |