Параметры Asp.net отображаются как нулевые, когда я знаю, что значение не пусто - PullRequest
0 голосов
/ 19 декабря 2018

Я получаю приведенную ниже ошибку при прохождении через значение, которое я знаю, там.

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, как я тестировалэто в текстовом поле и показывает, что я, что это для отображения.

Я не могу понять, где я иду не так.

1 Ответ

0 голосов
/ 19 декабря 2018

Предполагая, что [Тип метра] является строковым полем, вы пропускаете одинарные кавычки в sql:

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...