Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
Oqi
0 / 0 / 0
Регистрация: 13.05.2013
Сообщений: 20
#1

Отсутствует значение для одного или нескольких требуемых параметров

10.01.2016, 15:46. Просмотров 1181. Ответов 9
Метки нет (Все метки)

Всем привет. Написал программу, при нажатии на кнопку "Найти", постоянно выдает ошибку "Отсутствует значение для одного или нескольких требуемых параметров". Помогите плиз...
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.OleDb;
 
namespace SLab4
{
    public partial class Form1 : Form
    {
        private static string connectionString = @"Provider=Microsoft.JET.OLEDB.4.0;Data Source=E:\SLab4\BD1.mdb";
        private OleDbDataAdapter dataAdapter = new OleDbDataAdapter();
        private DataSet ds = new DataSet();
        private OleDbCommand myCommand = new OleDbCommand();
        
        public Form1()
        {
            InitializeComponent();
            string commandText = "SELECT НазваниеКниги, КоличествоЭкземпляров, Цена, ([КоличествоЭкземпляров]*[Цена]) AS Сумма FROM Книга WHERE (КоличествоЭкземпляров)<=textBox2.Text";
                                          
            OleDbConnection conn = new OleDbConnection(connectionString);
            conn.Open();
            OleDbCommand myCommand = new OleDbCommand();
            myCommand.Connection = conn;
            myCommand.CommandText = commandText;
            OleDbDataAdapter dataAdapter = new OleDbDataAdapter();
            dataAdapter.SelectCommand = myCommand;
            DataSet ds = new DataSet();
            dataAdapter.Fill(ds, "Книга");
            dataGridView2.DataSource = ds;
            dataGridView2.DataMember = "Книга";
            conn.Close();
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
 
            // TODO: данная строка кода позволяет загрузить данные в таблицу "bD1DataSet.запросАвтор". При необходимости она может быть перемещена или удалена.
            this.запросАвторTableAdapter.Fill(this.bD1DataSet.запросАвтор);
 
        }
        private void button2_Click(object sender, EventArgs e)
        {
            запросАвторBindingSource.Filter = "Автор='" + textBox1.Text + "'";
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            запросАвторBindingSource.RemoveFilter();
        }
 
        private void button3_Click(object sender, EventArgs e)
        {
            запросАвторBindingSource.Sort = "Max-Количество Экземпляров DESC";
        }
 
        private void button4_Click(object sender, EventArgs e)
        {
            запросАвторTableAdapter.Connection.Close();
            Application.Exit();
        }
 
        private void button5_Click(object sender, EventArgs e)
        {
            int number;
            bool isNum = Int32.TryParse(textBox2.Text, out number);
            if (!isNum)
            {
                number = 0;
            }    
           
            foreach (DataGridViewColumn column in dataGridView2.Columns)
            {
                column.Width = 120;
            }
        }
    }
}
Скрин формы:
Отсутствует значение для одного или нескольких требуемых параметров

Скрин ошибки:
Отсутствует значение для одного или нескольких требуемых параметров
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.01.2016, 15:46
Ответы с готовыми решениями:

Отсутствует значение для одного или нескольких требуемых параметров
Добрый вечер,имеется код изменения данных в таблице public void...

Использование одного метода для нескольких кнопок
Здравствуйте, у меня в программе есть много кнопок и следующий метод: public...

Использование одного события для обработки нескольких компонетов
Здравствуйте уважаемые форумчане, такая проблема: У меня на форме 4 компонента...

Создание одного экземпляра формы для нескольких форм
Всем привет. Народ подскажите, если у меня есть диалоговое окно(Form2)...

Назначение одного контекстного меню для нескольких контроллов (textBox)
Как обычно сабж, +: Столкнулся с проблемой. Назначил одно контекстное меню для...

9
Даценд
Модератор
Эксперт .NET
4099 / 3918 / 2593
Регистрация: 20.04.2015
Сообщений: 7,108
10.01.2016, 15:55 #2
Oqi,
попробуйте так:
C#
1
string commandText = "SELECT НазваниеКниги, КоличествоЭкземпляров, Цена, ([КоличествоЭкземпляров]*[Цена]) AS Сумма FROM Книга WHERE КоличествоЭкземпляров<=" + textBox2.Text;
0
Oqi
0 / 0 / 0
Регистрация: 13.05.2013
Сообщений: 20
10.01.2016, 16:14  [ТС] #3
Привет, так выдавал ошибку синтаксиса, исправил на этот вариант:
C#
1
string commandText = "SELECT НазваниеКниги, КоличествоЭкземпляров, Цена, ([КоличествоЭкземпляров]*[Цена]) AS Сумма FROM Книга WHERE КоличествоЭкземпляров <='" + textBox2.Text + "'";
Ошибку с синтаксисом не выдает, но прошлая ошибка так и вылетает. Подсвечивается эта строка:
C#
1
 dataAdapter.Fill(ds, "Книга");
Может что не так прописал, хз...
0
Даценд
Модератор
Эксперт .NET
4099 / 3918 / 2593
Регистрация: 20.04.2015
Сообщений: 7,108
10.01.2016, 16:28 #4
Цитата Сообщение от Oqi Посмотреть сообщение
Привет, так выдавал ошибку синтаксиса, исправил на этот вариант
Какая ошибка? Нет ошибок в той строке.
А вот в строке:
C#
1
string commandText = "SELECT НазваниеКниги, КоличествоЭкземпляров, Цена, ([КоличествоЭкземпляров]*[Цена]) AS Сумма FROM Книга WHERE КоличествоЭкземпляров <='" + textBox2.Text + "'";
логическая ошибка, т.к. в одинарные кавычки заключаются текстовые значения. Числа в запросах (а я думаю, что КоличествоЭкземпляров это поле числовое) пишутся без кавычек.
2
Oqi
0 / 0 / 0
Регистрация: 13.05.2013
Сообщений: 20
10.01.2016, 16:55  [ТС] #5
Теперь такую ошибку выдает...
0
Миниатюры
Отсутствует значение для одного или нескольких требуемых параметров  
kontuPauk
301 / 299 / 125
Регистрация: 29.01.2013
Сообщений: 638
Записей в блоге: 1
Завершенные тесты: 1
10.01.2016, 21:35 #6
Если Вы используете символ @, удваивать бакслеш не надо. Для базы данных я бы все-таки использовал полный путь, а не относительный...
Ах да. Ругается на недопустимое имя базы как раз из-за удвоения '\' в строке подключения...
0
Oqi
0 / 0 / 0
Регистрация: 13.05.2013
Сообщений: 20
11.01.2016, 10:05  [ТС] #7
команда не меняется, просто прописать полный путь и к файлу и убрать слеш?
можете еще посмотреть пожалуйста код. может где еще ошибки есть в коде
0
kontuPauk
301 / 299 / 125
Регистрация: 29.01.2013
Сообщений: 638
Записей в блоге: 1
Завершенные тесты: 1
11.01.2016, 10:36 #8
Для таких запросов лучше использовать параметры:
C#
1
2
3
4
5
6
7
8
string commandText = "SELECT НазваниеКниги, КоличествоЭкземпляров, Цена, ([КоличествоЭкземпляров]*[Цена]) AS Сумма FROM Книга WHERE (КоличествоЭкземпляров)<=?";
                                          
// ...
            OleDbCommand myCommand = new OleDbCommand();
            myCommand.Connection = conn;
            myCommand.CommandText = commandText;
            myCommand.Parameters.AddWithValue("param1", value1); // а вот value1 в виде числа надо из textBox1.Text получить...
// ...
1
Oqi
0 / 0 / 0
Регистрация: 13.05.2013
Сообщений: 20
11.01.2016, 11:00  [ТС] #9
Спасибо, попробую.
0
Oqi
0 / 0 / 0
Регистрация: 13.05.2013
Сообщений: 20
13.01.2016, 18:26  [ТС] #10
Изменил путь к БД, в итоге начал выдавать такую ошибку:
Невозможно найти устанавливаемый ISAM.
Кто может знает как ее исправить?
0
13.01.2016, 18:26
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.01.2016, 18:26

Передача нескольких параметров на вход программе
Всем привет. Разрабатываю mp3-плеер для общего развития. Когда я ассоциирую...

Отсутствует значение для одного или нескольких требуемых параметров
хочу отредактировать запись по edit , но ругается procedure...

Отсутствует значение для одного или нескольких требуемых параметров
Помогите, пожалуйста найти ошибку... Вот код который выполняет сохранение: ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru