0

これは本当に初心者の問題ですが、すぐに髪を引き裂きます。ローカル データベースから読み込もうとしていますが、何も得られません。コードは次のとおりです。

protected void readBtn2_Click(object sender, EventArgs e)
{
    string ConnString = "server=localhost; Trusted_Connection=yes; database=expreimentalDB";

    string SqlString  = ("SELECT * FROM tblCity WHERE city = '@city'");

    using (SqlConnection conn = new SqlConnection(ConnString))
    {
        using (SqlCommand cmd = new SqlCommand(SqlString, conn))
        {
            cmd.CommandType = CommandType.Text;
            cmd.Parameters.AddWithValue("city", cityTB.Text);

            conn.Open();
            using (SqlDataReader reader = cmd.ExecuteReader())
            {
                GridView1.DataSource = reader;
                GridView1.DataBind();
            }
        }
    }
}

接続文字列は機能するはずです (文字列内のデータベース部分の名前を変更するとクラッシュするため)。

SQLは機能しています(SQLマネージャーで試しました)

リーダー (SqlDataReader) は空です まだ試していないのは何ですか?

4

2 に答える 2

1

よくわかりませんが、コマンドに追加するときに、パラメーターの名前の前に @ 記号を付ける必要はありませんか? このような:

cmd.Parameters.AddWithValue("@city", cityTB.Text);
于 2013-05-21T19:03:47.880 に答える