select Error:sqlstate=3700 [Microsoft][ODBC Sql Server Driver][Sql Server]第一行:‘:’附近有语法错误。
p_name=trim(ddlb_1.text)
NewSyn='SELECT * '+&
'FROM STP '+&
'where ProName=:p_name'
dw_1.SetSQLSelect(NewSyn)
messagebox("数据窗口的sql语句",NewSyn)
dw_1.Retrieve()
怎么老出3700的错,怎么回事,求救!!!
------解决方案--------------------
拼接SQL 有误, 把它写成这样试一下:
NewSyn="SELECT * FROM STP where ProName='"+p_name+"'"
另外, setsqlselect() 函数使用的拼接的newsyn 中的select 的字段要确保和原来DW 对象的列要对应.
不然 setsqlselect() 将返回 -1
------解决方案--------------------
直接把p_name的值写到newsyn里
NewSyn="SELECT * FROM STP where ProName='" + p_name +"'"
------解决方案--------------------
p_name=trim(ddlb_1.text)
NewSyn="SELECT * FROM STP where ProName='"+p_name+"'"
int li_rtn
li_rtn = dw_1.SetSQLSelect(NewSyn)
if li_rtn=-1 then
messagebox("数据窗口的sql语句",NewSyn)
end if
dw_1.settransobject(sqlca)
dw_1.Retrieve()
------解决方案--------------------
NewSyn='SELECT * '+&
'FROM STP '+&
'where ProName=:p_name'
這裏出問題啊,p_name是個變量怎麼能這樣子寫呢
NewSyn='SELECT * '+&
'FROM STP '+&
'where ProName=“+‘p_name'