发信人: zhangzf() 
整理人: leitiger(2002-06-05 23:47:38), 站内信件
 | 
 
 
【 在 joly (joly) 的大作中提到: 】
 : 我定义了一个数据窗口,where条件要在程序中实现修改,
 : 我用describe()函数得到此DW的描述,但是在用modify(newsql)
 : 修改时总是差一层引号,“slkadf"a's'df"asdf”,这儿我用
 : 汉字库中的引号代替最外层的英文引号,请问有什么办法能够
 :    .......
 The original SELECT statement might be:
 
 SELECT employee.emp_id, employee.l_name
 
 FROM employee
 
 Presumably, the application builds a WHERE clause based on the user's  choices. The WHERE clause might be:
 
 WHERE emp_id > 40000
 
 The script for the window's Open event stores the original SELECT stat ement in original_select, an instance variable:
 
 dw_emp.SetTransObject(SQLCA)
 
 original_select = &
 	dw_emp.Describe("DataWindow.Table.Select")
 
 The script for a CommandButton's Clicked event attaches a WHERE clause  stored in the instance variable where_clause to original_select and a ssigns it to the DataWindow's Table.Select property:
 
 string rc, mod_string
 
 mod_string = "DataWindow.Table.Select='" &
 	+ original_select + where_clause + "'"
 
 rc = dw_emp.Modify(mod_string)
 
 IF rc = "" THEN
 	dw_emp.Retrieve( )
 
 ELSE
 	MessageBox("Status", "Modify Failed" + rc)
 
 END IF
 
 Quotes inserted in the DataWindow painter  For SQL Anywhere and ORACLE , the DataWindow painter puts double quotes around the table and colum n name (for example, SELECT "EMPLOYEE"."EMP_LNAME"). Unless you have r emoved the quotes, the sample WHERE clause must also use these quotes.  For example: 
 
 where_clause = &
 
 " where ~~~"EMPLOYEE~~~".~~~"SALARY~~~" > 40000"
 
 
  -- ※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.102.3.210]
  | 
 
 
 |