从TextBox获取输入时,Linq查询不返回值

时间:2012-09-30 11:13:40

标签: c# asp.net linq oracle10g entity-framework-4.1

这是模型的图像。您可以看到我正在搜索的列是字符串类型。

现在我只想从文本框中获取输入并将其与所需的列匹配。

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天。请帮帮我。

1 个答案:

答案 0 :(得分:0)

尝试

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

我感觉Oracle表中的字段PAN是char / nchar而不是varchar