|
分類:[.NET 全般]
お世話になります 現在GridViewで検索を作っています フィールド数に応じてテキストボックスを配置しフィールドごとに曖昧に検索させる手法です
環境xppro sqlserver visualstudio2005 asp.net 本人初心者
■実現できていること accessのテーブルだと実行が可能です 下記
<asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Ldata\loop\流通.mdb" ProviderName="System.Data.OleDb" SelectCommand="SELECT * FROM [流通] WHERE ([入金日] >= IIf(IsDate(@StartDate) = False, Null, @StartDate) OR IsDate(@StartDate) = False) AND ([入金日] <= IIf(IsDate(@EndDate) = False, Null, @EndDate) or IsDate(@EndDate) = False) AND (([ファイルパス] LIKE '%' + @param3 + '%') OR ([ファイルパス] IS NULL AND @param3 = '')) " > <SelectParameters> <asp:ControlParameter ControlID="TextBox1" ConvertEmptyStringToNull="False" Name="?" PropertyName="Text" /> <asp:ControlParameter ControlID="TextBox2" ConvertEmptyStringToNull="False" Name="?" PropertyName="Text" /> <asp:ControlParameter ControlID="TextBox3" ConvertEmptyStringToNull="False" Name="?" PropertyName="Text" /> <asp:ControlParameter ControlID="TextBox4" ConvertEmptyStringToNull="False" Name="?" PropertyName="Text" /> </SelectParameters>
■できなかったこと Providerが変わるとエラーが出ます。
スカラ変数 "@StartDate" を宣言してください。 説明: 現在の Web 要求を実行中に、ハンドルされていない例外が発生しました。エラーに関する詳細および例外の発生場所については、スタック トレースを参照してください。 例外の詳細: System.Data.OleDb.OleDbException: スカラ変数 "@StartDate" を宣言してください。 下記コード <asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="Provider=SQLOLEDB;Data Source=SERVER\SQLEXPRESS;Persist Security Info=True;Password=loop;User ID=loop;Initial Catalog=流通" ProviderName="System.Data.OleDb" SelectCommand="SELECT * FROM [流通] WHERE (入金日 >= IIf(IsDate(@StartDate) = False, Null, @StartDate) OR IsDate(@StartDate) = False) AND (入金日 <= IIf(IsDate(@EndDate) = False, Null, @EndDate) or IsDate(@EndDate) = False) AND (([ファイルパス] LIKE '%' + @param3 + '%') OR ([ファイルパス] IS NULL AND @param3 = '')) " > <SelectParameters> <asp:ControlParameter ControlID="TextBox1" ConvertEmptyStringToNull="False" Name="?" PropertyName="Text" /> <asp:ControlParameter ControlID="TextBox2" ConvertEmptyStringToNull="False" Name="?" PropertyName="Text" /> <asp:ControlParameter ControlID="TextBox3" ConvertEmptyStringToNull="False" Name="?" PropertyName="Text" /> <asp:ControlParameter ControlID="TextBox4" ConvertEmptyStringToNull="False" Name="?" PropertyName="Text" />
同ように作っているのにProviderが変わるだけでエラーになります どなたか説明と回避方法分かる方ご教授願います。
|