0

モデルさんの画像はこちら。検索している列が文字列型であることがわかります。

ここで、テキスト ボックスから入力を取得し、それを目的の列と一致させたいだけです。

protected void Button1_Click(object sender, EventArgs e)
{
    String val = Convert.ToString(TextBox1.Text.Trim());
    Entities query = new Entities();

    var txn = (from p in query.MAINs
               where p.PAN.Equals(val, StringComparison.OrdinalIgnoreCase)
              select p).ToList();
    GridView1.DataSource = txn.ToList();
    GridView1.DataBind();
}

しかし、クエリは null (rowcount=0) を返します。val 変数を確認しました。正確なパラメーターを送信します。値を直接指定すると、結果が返されます。

protected void Button1_Click(object sender, EventArgs e)
{
    String val = Convert.ToString(TextBox1.Text.Trim());
    Entities query = new Entities();

    var txn = (from p in query.MAINs
               where p.PAN.Equals("1010170000000030", StringComparison.OrdinalIgnoreCase)
              select p).ToList();
    GridView1.DataSource = txn.ToList();
    GridView1.DataBind();
}

私はLinqとエンティティフレームワークの初心者です。このことは私を狂わせます。テキスト ボックスからの入力が機能しない理由がわかりません。私はこれで3日間立ち往生しているので、どんな種類の助けも大歓迎です. 私を助けてください。

4

1 に答える 1

0

試す

var txn = (from p in query.MAINs
           where p.PAN.Trim().Equals("1010170000000030", 
               StringComparison.OrdinalIgnoreCase)
          select p).ToList();

charOracle テーブルのフィールド PAN は/ncharであり、そうではないような気がしますvarchar

于 2012-09-30T20:01:43.887 に答える