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();

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

于 2012-09-30T20:01:43.887 回答