我有一個SQL命令我運行,但工作很好,但對於AddWithValue參數之一我想使用另一個SQL命令來獲取該值...這是我有,但我想要使用的cmd2不起作用。它甚至有可能獲得數據的方式在理論上它是有道理的,但它似乎並沒有工作..使用SQL命令作爲參數值在C#
cmd2 = new SqlCommand("SELECT acctNum FROM custInfo WHERE customerName = @customerName", cn);
cmd2.Parameters.AddWithValue("@customerName", customerDropDown.Text);
cmd = new SqlCommand("UPDATE custInfo SET ctGal = (ctGal - (@contractGallons)) WHERE acctNum = @acctNum", cn);
cmd.Parameters.AddWithValue("@contractGallons", gallonsTextBox.Text)
cmd.Parameters.AddWithValue("@acctNum", cmd2);
'update ... where acctNum in(select c.acctNum from custInfo c ...)'? –
您不執行'cmd2'來獲取'acctNum'值。但@DmitryBychenko會更好地工作,因爲它只有1次調用數據庫。 –
甚至更簡單 - 'UPDATE custInfo SET ctGal =(ctGal - (@contractGallons))WHERE customerName = @ customerName' - 如果您已擁有'@ customerName',則實際上不需要'acctNum' ... –