2011-08-15 8 views
0

中にエラーが発生しました:パラメータ問題C#でSQLクエリを実行している

SqlParameterCollectionが唯一の非nullでSqlParameter タイプのオブジェクトを受け付け、文字列

オブジェクトではない。これは、私、私が取得していますエラーですこのコードを実行してください

私はコマンドにパラメータを追加しているときに例外が発生しています。私に間違いを知らせることができますか。

+0

無料ヒント:私は、従来のスタイルを避けるためにしようと、ちょうど 'メニューから、aspnet_Users、aspnet_Pathsを持つことでのJOINのaspnet_PersonalizationPerUser' - これは非常に危険です。WHERE句でJOIN条件が1つでも不足すると、デカルト積で終わります。また、あなたの実際のWHERE句は、実際にJOIN条件としてのみ機能する不必要な条件で複雑になります。..... –

+0

代わりに、JOINのタイプを明確にマークし、そこにJOIN条件があるANSI標準JOIN構文を使用します - 読むのがはるかに簡単です! (また、テーブルのエイリアスを使用すると、クエリが読みやすくなります): 'FROM dbo.Menu m INNER JOIN dbo.aspnet_Paths p ON m.Url = p.Path INNER JOIN dbo.aspnet_PersonalizationPerUser ppu ON p.PathId = ppu.PathId INNER JOIN dbo.aspnet_Users usr on ppu.UserId = u.userId どこMenu.Parentitem = @MP AND aspnet_Users.UserName = 'admin'' –

答えて

3

変更この:これに

cm.Parameters.Add(mp); 

:1日の

cm.Parameters.Add(parameter); 
関連する問題