SQL Server データベース (バージョン 10.50.4000) への完全に機能する (安全な) セッションを取得しました。これはパブリック変数に格納されます。
SqlConnection conn = new SqlConnection();
SELECT
クエリを実行したいだけです。それ以外の場合、ユーザー アカウントには権限がありません。
クエリは、単純なテキスト ボックスに挿入される 1 つのユーザー エントリのみで作成されます。
残念ながら、元のコマンド テキストを教えてはいけません。だから私はあなたのためにそれを簡単にします:
function print_users(string filtervalue)
{
SqlCommand cmd = null;
cmd = new SqlCommand("SELECT users From groups WHERE group_name LIKE '%@fv%'", this.conn)
cmd.Parameters.Add("@fv", SqlDbType.NVarChar);
cmd.Parameters["@fv"].Value=filtervalue;
rdr = cmd.ExecuteReader();
while(rdr.Read())
{
//Do something with the answer from the DB
}
}
しかし、これではうまくいきません。も試しAddWithValue
ましたが、うまくいきませんでした。
置き換えが必要な行にストップポイントを作成するときは@fv
、コードを行ごとに調べることができます。@fv
そして、置き換えるべきコマンドがエラーなしで処理されていることがわかります。しかし@fv
、置き換えられていません (または、少なくともデバッグ コンソールに置き換えが表示されません)。
私は何を間違っていますか?
編集:
返信ありがとうございます。一重引用符 ( ' ) を省略するとうまくいきました。
また、これは文字列の置換ではないことも学びました。ありがとうございました。
一言だけ: 接続が常に開いたままになっているわけではありません。必要がなくなると、すぐに閉じられます。必要に応じて再確立します-サンプルコードにそれを書くのを忘れていました。
再度: ご協力ありがとうございます。