1樓:猿始森林
前邊那種是正常的傳參方法.
下邊的cmd.parameters.add(new parameter());是匿名新增物件.
效果一樣,只是下邊這種方法省了前邊的命名過程.
這種匿名建立,是很多地方通用的.
就好比有乙個方法void a(int i);
需要傳乙個引數,你可以直接 a(k); // int k = 2;
也可以 a(2); 意思是一樣的.
而paramter 的作用,英文就是引數,,,他是給查詢語新增引數
比如說.有乙個語句: "select * from 表1 where uid = @uid";
@uid 就是乙個sql引數,但是在c#裡表示,就需要用parameter來給引數賦值
有些時候,只能用引數的方法,比如說:
你想把乙個**序列化儲存到資料庫中.
sql語句: "insert into 表1 values(@img)";
這個時候,是沒有人去手動寫那個二進位制資料的,所以可以用乙個 parameter來給這個@img賦值
sqlparameter img = new sqlparameter("@img",sqldbtype.image);
img.value = ...;
資料庫博大精深,加油!
2樓:匿名使用者
沒有多大區別,只不過是個人程式設計習慣的問題
3樓:
都是給sqlcommand新增引數 沒有區別
用sql引數可以防止sql攻擊
關於c語言的問題,關於C語言的問題
鷹弈 1 有定義 int n 0,p n,q p 則以下選項中,正確的賦值語句是 d a.p 1 b.q 2 c.q p d.p 5 解 p為一級指標,其中p為指標的地址,q為二級指標,其中 q為指標的地址,只能給變數或指標變數賦值,不能給地址賦值,所謂地址,就是由acs碼構成,簡單的說,就是每個人...
關於C中的timer控制元件,C 中,關於Timer控制元件的說法正確的是 選2項
會完成。但是需要注意 1.system.windows.forms.timer 是單執行緒的,它只在ui執行緒中執行,定時精度約55ms,當前的事件沒處理完成時,下一次事件不會觸發 過久地處理會導致介面假死。2.system.threading.timer 是多執行緒的,觸發的事件在threadpo...
關於C 的問題,關於C 的一個問題?
size type應該是c 為例如string類和許多其他庫型別定義的配套型別,使這些庫型別的使用與機器無關.所以不能單獨用。具體如下 size type是為string類型別和vector類型別定義的型別,用以儲存任意string物件或vector物件的長度,標準庫型別將size type定義為u...