Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
3 / 4 / 2
Регистрация: 05.04.2011
Сообщений: 179

Подскажите, в чем ошибка?

31.10.2014, 10:33. Показов 2452. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день! есть такой метод процедуры:
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
internal void AddToBd(Button button, TextBox tab_number, TextBox fio)
        {
            ArrayList searchDebitors = new ArrayList();
 
            using ( connect = new OdbcConnection (connection))
            {
 
                cmd = new OdbcCommand("ADD_TO_PERSONEL", connect);
                 cmd.CommandType = System.Data.CommandType.StoredProcedure;
                 OdbcParameter par = new OdbcParameter();
 
                 par.ParameterName = "@param2";
                 par.Value = fio.Text;
                 par.OdbcType = System.Data.Odbc.OdbcType.VarChar;
                 par.Size = 100;
                 par.Direction = System.Data.ParameterDirection.Input;
                 cmd.Parameters.Add(par);
                
                OdbcParameter dd = new OdbcParameter();
                dd.ParameterName = "@param1";
                dd.Value = tab_number.Text;
                dd.OdbcType = System.Data.Odbc.OdbcType.VarChar;
                dd.Size = 100;
                dd.Direction = System.Data.ParameterDirection.Input;
                cmd.Parameters.Add(dd);
                 connect.Open();
                    cmd.ExecuteNonQuery();
            }
        
        }
и есть на форме 2 текстового поля в 1 поле я забиваю значение из таблицы во второе какое нибудь значение и выводит ошибку Необработанное исключение типа "System.Data.Odbc.OdbcException" в System.Data.dll

Дополнительные сведения: ERROR [HY000] Dynamic SQL Error

SQL error code = -104

Token unknown - line 1, column 1


процедура работает нормально проверял вот она:

SQL
1
2
3
4
5
6
7
8
9
10
11
12
CREATE OR ALTER PROCEDURE ADD_TO_PERSONEL (
    param2 VARCHAR(100),
    param1 VARCHAR(100))
AS
    BEGIN
    /*for select test.newvar
    from test
 
    into :var
    do */
       INSERT INTO new_table (new_table.fio,new_table.fk_newint) VALUES(:param1, (SELECT test.newint FROM test WHERE test.newvar = :param2));
END
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
31.10.2014, 10:33
Ответы с готовыми решениями:

Не подскажите в чем ошибка?
private void button1_Click(object sender, EventArgs e) { try { connection.Open(); ...

Подскажите в чем ошибка в запросе
В базе есть таблица, в которой три столбика. Последний называется Count. Мне нужно вывести всё в DataGridView, если в поле Count значение...

Ошибка "Stack around the variable 'text' was corrupted"
Выскакивает ошибка Stack around the voriable 'text' was corrupted. Подскажите пожалуйста в чём ошибка. #include <iostream> ...

3
311 / 309 / 125
Регистрация: 29.01.2013
Сообщений: 638
Записей в блоге: 1
31.10.2014, 10:45
Лучший ответ Сообщение было отмечено Keysi как решение

Решение

Может, убрать символ @ из имен параметров. Хотя они, вроде, и неименнованными являются.
Как вариант, выполните команду как запрос:
SQL
1
EXECUTE PROCEDURE ADD_TO_PERSONEL ? ?
1
3 / 4 / 2
Регистрация: 05.04.2011
Сообщений: 179
31.10.2014, 11:01  [ТС]
EXECUTE PROCEDURE ADD_TO_PERSONEL ? ? ввыполнил пишет: SQL Parse Error:

Parameter name expected

и пробывал убирать @ всеравно также!(
0
3 / 4 / 2
Регистрация: 05.04.2011
Сообщений: 179
02.11.2014, 16:37  [ТС]
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
    using (OdbcConnection connect = new OdbcConnection(connectionString))
            {
 
                connect.Open();
                OdbcCommand cmd = new OdbcCommand("EXECUTE PROCEDURE PROC ? ?", connect);
                cmd.CommandType = CommandType.StoredProcedure;
               // cmd.CommandText = "ADD";
 
                OdbcParameter par = new OdbcParameter();
                par.ParameterName = "@FIOS";
                par.Value = textBox1.Text;
                par.OdbcType = System.Data.Odbc.OdbcType.VarChar;
                par.Size = 100;
                par.Direction = System.Data.ParameterDirection.Input;
                cmd.Parameters.Add(par);
 
                OdbcParameter dd = new OdbcParameter();
                dd.ParameterName = "@FIELDSS";
                dd.Value = textBox2.Text;
                dd.OdbcType = System.Data.Odbc.OdbcType.VarChar;
                dd.Size = 100;
                dd.Direction = System.Data.ParameterDirection.Input;
                cmd.Parameters.Add(dd);
              
                cmd.ExecuteNonQuery();
            }
код поменялся так как из дома эксперементирую: сначало ругался на имя процедуры и как ты сказал выполнить команду как запрос: теперь рукается на:
ERROR [HY000] [ODBC Firebird Driver][Firebird]Dynamic SQL Error
SQL error code = -104
Token unknown - line 1, column 26
?


как понимаю 2 параметра это два вопроса, с пробелами эксперементировал все также(

Добавлено через 49 минут
проблема решена:
C#
1
    OdbcCommand cmd = new OdbcCommand("EXECUTE PROCEDURE PROC (?,?)", connect);
а в IbExperte:

SQL
1
   EXECUTE PROCEDURE PROC (:FIOS,:FIELDSS)
спасибо большое kontuPauk !!!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.11.2014, 16:37
Помогаю со студенческими работами здесь

Подскажите в чём ошибка
#include <iostream> int main(){ int a = 0; int b = 0; char operation; std::cout << "Enter first number: "; ...

Подскажите в чем ошибка
Есть код: #include <iostream> #include <vector> using namespace std; int main() { vector<int>vec; vector<int>::iterator...

Подскажите в чем ошибка..
Доброго времени суток, подскажите где ошибка, уже мозги кипят....sos procedure TForm1.Button1Click(Sender: TObject); const ...

подскажите в чем ошибка?
Private Sub NN_Click() SpCity.Clear SpFrm.Clear SpCity.AddItem "Арзамас" SpCity.AddItern "Валахина" End Sub Private Sub...

подскажите в чём ошибка?
#include <iostream> using namespace std; void func(char ar,int nar) { int i=0; for(;i<nar;i++); cout <<"ЭВведи...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение/ Перевод https:/ / **********/ gallery/ thinkpad-x220-tablet-porn-gzoEAjs . . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru