亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

執行錯誤信息:并非所有變量都所有變量都已綁定,這是什么情況?

執行錯誤信息:并非所有變量都所有變量都已綁定,這是什么情況?

桃花長相依 2022-05-01 10:06:23
SELECT * FROM 表ALEFT JOIN T_表B ON 表A.ID=表B.AI AND 表B.字段B=:變量1WHERE 表A.字段A LIKE :變量2 AND 表A.字段B = :變量1odbc cmd.Parameters.Add 賦值問題cmd.Parameters.Add("變量1", 數據類型).Value = 值1;cmd.Parameters.Add("變量2", 數據類型).Value = 值2;執行錯誤信息:并非所有變量都所有變量都已綁定如 :變量1 不多次出現則正常運行
查看完整描述

2 回答

?
梵蒂岡之花

TA貢獻1900條經驗 獲得超5個贊

cmd.Parameters.Add("變量1", 數據類型).Value = 值1;
這樣ORACLE不會幫你把所有命名為"變量1”的綁定變量都賦值的。
假使語句為:
select * from A where b=:M and c=:M and d=:N 經過ORACLE解析后就成了 select * from A where b=:1 and c=:2 and d=:3
這樣就需要給 綁定變量 1,2,3賦值。除非你在存儲過程里面寫。不然系統不會識別綁定變量名(就是個虛擬的而已)。
所以這種情況你需要
cmd.Parameters.Add("M", 數據類型).Value = 值1;
cmd.Parameters.Add("M", 數據類型).Value = 值1;
cmd.Parameters.Add("N", 數據類型).Value = 值2;
這樣就不會報錯。
有什么不理解的可以再問我。

查看完整回答
反對 回復 2022-05-04
?
拉風的咖菲貓

TA貢獻1995條經驗 獲得超2個贊

SELECT * FROM 表A
LEFT JOIN T_表B ON 表A.ID=表B.AI AND 表B.字段B = 變量1
WHERE 表A.字段A LIKE :變量2 AND 表A.字段B = 變量1
直接等于,這里不用冒號。單個變量賦值需 “ := ” 這樣的。

查看完整回答
反對 回復 2022-05-04
  • 2 回答
  • 0 關注
  • 780 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號