2007年8月30日 星期四

.NET 2.0 SqlDataSource notes

SqlDataSource透過各種的Parameters來傳遞參數, 常見的例如SelectParameter, InsertParameter...,使用這些Parameters時要注意的是,當參數中會出現空字串時,SqlDataSource會自動將他轉換成null,

SelectParameter中有一個屬性ConvertEmptyStringToNull default是被設成true的,於是便造成以上所說的情形,要解決這個問題:

1. 在CodeFile裡面:
dsDataSource1.SelectParameters[0].ConvertEmptyStringToNull = false;

2. 在.aspx裡面:
<SelectParameters>

<asp:Parameter Name="conttype1" Type="string" ConvertEmptyStringToNull="false"
/>

<asp:Parameter Name="conttype2" Type="string" ConvertEmptyStringToNull="false"
/>

</SelectParameters>

3. 在Stored Procedure裡面:
使用isnull(@param, '')將他轉換回來

沒有留言: