2012-05-11 21 views
0

に含まれていない私は自分のWebサーバに完全にテストサイトを移動し、それがParameterNameが「選択肢」とSqlParameterがこの に含まれていないがサーバーに移動:ParameterNameが持つsqlparameterはこのsqlparametercollection

を返し続けますSqlParameterCollection。

このエラーを複製することはできません。すべて正常に動作し、すべてのテストに合格します。

サーバーでIIS 6とnet 3.5が実行されています。私は過去にそれを使用しており、何の問題もありませんでした。このサイトは、vb.netを使用してasp.net 3.5で構築されています。

コード:

<SelectParameters> 
    <asp:Parameter Name="UserID" Type="Object" /> 
    <asp:ControlParameter ControlID="DropDownList1" Name="Active" 
         PropertyName="SelectedValue" Type="Boolean" /> 
    <asp:Parameter Name="Choices" Type="String" /> 
</SelectParameters> 

Protected Sub BoarListSQL_Selecting(sender As Object, e As System.Web.UI.WebControls.SqlDataSourceSelectingEventArgs) Handles BoarListSQL.Selecting 
    e.Command.Parameters("@UserId").Value = userId 
    e.Command.Parameters("@Active").Value = DropDownList1.SelectedValue.ToString() 
    e.Command.Parameters("@Choices").Value = lb_breeds.SelectedValue.ToString() 'breedChoice 
End Sub 

SelectCommand="If @Choices = 'ALL' BEGIN SELECT BoarID,Registration,Breed,Tag1,DOB,Name,BoarStudID,EntryDate,RemovalDate,Reason,Active,Location,BreedingHerdDate,Notes FROM [Table] WHERE ([UserID] = @UserID) AND ([Active] = @Active) END ELSE SELECT BoarID,Registration,Breed,Tag1,DOB,Name,BoarStudID,EntryDate,RemovalDate,Reason,Active,Location,BreedingHerdDate,Notes FROM [Table] WHERE ([UserID] = @UserID) AND ([Active] = @Active) AND ([Breed] = @Choices)" 

私は、パラメータリストの選択肢を持っているし、選択が実行されたとき、私は値を追加しています。

何か助けていただければ幸いです。ありがとう。

+1

SELECT BoarID、Registration、Breed、Tag1、DOB、Name、BoarStudID、EntryDate、RemovalDate、Reason、Active、Location、BreedingHerdDate、NotesからFROM [Table]を選択すると、問題はわかりませんが、 WHERE([UserID] = @UserID)AND([Active] = @Active)AND(@Choices = 'ALL' OR [Breed] = @Choice)。ねえ、あなたは "どんな助けもありがとう"と言った:) – Eugene

+0

私はなぜそれが最初の場所でそれのように書くのか分からない。提案していただきありがとうございます。 – Primetime

答えて

0

addWithValue(正常に動作するはずです)を追加しようとする場合があります。使用しない場合は、データベースにテキストを挿入する必要があることがあります。

ので、一つの他の解決策は次のようになります。

e.Command.Parameters("@Choices").Value = "'" & lb_breeds.SelectedValue.ToString() & "'" 'breedChoice 

あなたはでそれを使用する方法について良い例を見つける: http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlparametercollection.addwithvalue(v=vs.90).aspx

この情報がお役に立てば幸いです。

+0

'addWithValue'は 'System.Data.Common.DbParameterCollection'のメンバーではありません – Primetime

+0

これは正しく、system.data.sqlclient.sqlparametercollectionのwhitchが 'System.Data.Common.DbParameterCollection'の子であるようです。どちらもSystem.Dataにあります。参考までに:http://msdn.microsoft.com/en-us/library/system.data.common.dbparametercollection(v=vs.90).aspx – Minus

関連する問題