在C#中調用SP時如何表明參數使用缺省值?
對于C#調用存儲過程的時候,因為存儲過程有可能被重用,在不同的情況下,你所使用的參數可能會不同,所以在編寫存儲過程的時候會將一些不是必須傳值的參數給定缺省值。
在查詢分析器中調用存儲過程可以用語法明確說明存儲過程用缺省省,比如:
exec [dbo].[SFCRead_MoldPartNo_SP] @SkuNo=N'G9108',@PartNo=N'',@WoNo='',
@EventPoint='',@AssemblyDueDS=default,@AssemblyDueDE=default,@EmpID='f1006875',@ActionID='1'
那么用C#如何指明存儲過程用缺省值呢?C#中有沒有default這個語法或枚舉呢?經過查找,并沒有這樣的枚舉。但的確可以用null來告訴sql server這個參數使用的是缺省值。如:
DbCommand dbCommand = db.GetStoredProcCommand("SFCRead_MoldPartNo_SP");
foreach (DbParameter param in dbCommand.Parameters)
{
param.Value = null ;
}
以上語句告訴sql server調用SFCRead_MoldPartNo_SP所有參數都使用缺省值。