雖然在 .Net 2.0 提供了一個好用的 SqlDataSource 元件,但實際開發的經驗裡發現,當資料來源使用的是 StoreProcedure時,如果所傳入的參數為空白,則會自動被轉成 NULL。當 SQL Server 收到時,會自動忽略掉這個指令而被去執行,同時也不會發出任何的錯誤訊息。
為了防止這現象發生,在 .Net 的 SqlDataSource 呼叫 StoreProcedure 時,於加入參數的地方多一段程式來解決:
SqlDataSource_Do_import.SelectParameters.Clear();
SqlDataSource_Do_import.SelectParameters.Add("senos", str_senos);
SqlDataSource_Do_import.SelectParameters.Add("keyinEmpno", sso.empNo);
SqlDataSource_Do_import.SelectParameters.Add("keyinEmpname", sso.empName);
//將所有空字串都設成不轉為NULL
for (int iPa = 0; iPa <>
SqlDataSource_Do_import.SelectParameters[iPa].ConvertEmptyStringToNull = false;
SqlDataSource_Do_import.Select(new DataSourceSelectArguments());
2008年5月2日 星期五
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言