【问题标题】:Asp.net parameters showing as null when i know the value isnt blank当我知道值不为空时,Asp.net 参数显示为空
【发布时间】:2019-05-20 02:10:47
【问题描述】:

当传递一个我知道存在的值时,我收到以下错误。

System.Data.OleDb.OleDbException: 'No value given for one or more required parameters.'

我正在填充具有单个输出的网格视图。然后我使用它来填充新的网格视图。

            OleDbConnection conn1 = new OleDbConnection();
        string path1 = Server.MapPath("Price_List.xlsx");
        String connString1 = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties='Excel 12.0;IMEX=1;'";
        conn1.ConnectionString = connString1;
        conn1.Open();
        OleDbCommand cmd1 = new OleDbCommand("select * from [Sheet1$] Where [Meter Type] =" + GridView1.Rows[0].Cells[0].Text, conn1);
        OleDbDataReader rd1 = cmd1.ExecuteReader();


        GridView2.DataSource = rd1;
        GridView2.DataBind();

我知道密码

GridView1.Rows[0].Cells[0].Text

显示网格视图 1 中的单出,因为我在文本框中对此进行了测试,并显示了要显示的内容。

我看不出哪里出错了。

【问题讨论】:

  • 您可能还需要使用 OleDbParameter 并将其附加到 OleDbCommand 而不是 SQL 命令查询中的硬编码值
  • 你能指出 mt 的正确方向吗,不知道该怎么做。

标签: css asp.net excel gridview


【解决方案1】:

假设 [Meter Type] 是一个字符串字段,您在 sql 中缺少单引号:

OleDbCommand cmd1 = new OleDbCommand("select * from [Sheet1$] Where [Meter Type] = '" + GridView1.Rows[0].Cells[0].Text + "'", conn1);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多