Кристина525 0 / 0 / 0 Регистрация: 20.11.2013 Сообщений: 68 |
||||
1 |
||||
03.12.2015, 15:06. Показов 2466. Ответов 9 Метки нет (Все метки)
Здравствуйте. У меня такая проблема. Не получается добавить запись в таблицу Заказы, выдает ошибку «SQL error code = -303 conversion error from string «Здесь пишет ФИО клиента». Ниже приведен код кнопки добавления. Кто-нибудь может помочь исправить эту ошибку, пожалуйста?
__________________
0 |
Programming Эксперт 94731 / 64177 / 26122 Регистрация: 12.04.2006 Сообщений: 116,782 |
03.12.2015, 15:06 |
Ответы с готовыми решениями: HTTP/1.1 303 See Other Я пытаюсь сделать автообновление своей программы. Алгоритм знаю, хостинг есть, всё… ЛТН 303 Ошибки жесткого диска 303 и 305 Firebird SQL error code = -303 9 |
4733 / 3938 / 997 Регистрация: 29.08.2013 Сообщений: 25,248 Записей в блоге: 3 |
|
03.12.2015, 15:59 |
2 |
а где заполняется параметр :id?
0 |
0 / 0 / 0 Регистрация: 20.11.2013 Сообщений: 68 |
|
04.12.2015, 04:08 [ТС] |
3 |
для заполнения id в IBexperte создан триггер и генератор
0 |
4733 / 3938 / 997 Регистрация: 29.08.2013 Сообщений: 25,248 Записей в блоге: 3 |
|
04.12.2015, 08:47 |
4 |
Кристина525, ну тогда думайте откуда программа знает ФИО — тут то его вроде бы нет
0 |
Супер-модератор 8781 / 2532 / 144 Регистрация: 07.03.2007 Сообщений: 11,873 |
|
04.12.2015, 10:53 |
5 |
Кристина525, так если id заполняется у вас в триггере, его не надо использовать в запросе… а у вас вообще хоть где-то есть такое словосочетание в программе или базе?
0 |
0 / 0 / 0 Регистрация: 20.11.2013 Сообщений: 68 |
|
04.12.2015, 11:35 [ТС] |
6 |
Lord_Voodoo, не очень поняла, какое словосочетание? Добавлено через 42 секунды
0 |
Супер-модератор 8781 / 2532 / 144 Регистрация: 07.03.2007 Сообщений: 11,873 |
|
04.12.2015, 12:29 |
7 |
Кристина525, ФИО клиента
0 |
0 / 0 / 0 Регистрация: 20.11.2013 Сообщений: 68 |
|
04.12.2015, 12:50 [ТС] |
8 |
Lord_Voodoo, ФИО клиента у меня записано в таблице Клиенты, когда нажимаю на одного из клиентов, потом тыкаю кнопку «заказы», у меня появляются заказы для этого клиента. И мне нужно сделать так, чтобы можно было добавить заказы, но этого не выходит, не понимаю почему, всяко пыталась менять код
0 |
Алекcей 526 / 464 / 182 Регистрация: 11.12.2013 Сообщений: 2,452 |
||||
04.12.2015, 13:00 |
9 |
|||
замените строки 10-15 на:
0 |
0 / 0 / 0 Регистрация: 20.11.2013 Сообщений: 68 |
|
04.12.2015, 13:16 [ТС] |
10 |
Алекcей, точно! спасибо большое
0 |
← →
Id
(2006-05-12 14:45)
[0]
Здраствуйте, уважаемые мастера.
Подскажите, пожалуйста, что означает данная ошибка?
← →
Johnmen ©
(2006-05-12 14:46)
[1]
код ошибки Языка Структурированных Запросов равен -303
← →
Id
(2006-05-12 14:53)
[2]
> Johnmen © (12.05.06 14:46) [1]
303 — несет какую-то информацию
← →
Johnmen ©
(2006-05-12 14:56)
[3]
> 303 — несет какую-то информацию
Какую?
По-моему, в данном [0] контексте — никакой.
← →
Id
(2006-05-12 15:04)
[4]
Dynamic SQL Error
SQL error code = -303
conversion error from string «копия»
Полный контекст
← →
Johnmen ©
(2006-05-12 15:08)
[5]
А сервер DB2 ?
← →
Id
(2006-05-12 15:09)
[6]
FB 1.5
← →
Сергей М. ©
(2006-05-12 15:11)
[7]
В параметрах коннекта lc_ctype=1251 ?
← →
Id
(2006-05-12 15:12)
[8]
> Сергей М. © (12.05.06 15:11) [7]
lc_ctype=WIN1251
← →
Johnmen ©
(2006-05-12 15:12)
[9]
http://www.ibase.ru/devinfo/ibrusfaq.htm
← →
Сергей М. ©
(2006-05-12 15:19)
[10]
поле, в котором фигурирует текст «копия», должно иметь соотв.атрибут CHARSET ?
← →
Id
(2006-05-12 15:29)
[11]
Если честно не знаю, что это за аттрибут.
Встречал его только при регистрации базы данных в IbExpert-e
← →
Сергей М. ©
(2006-05-12 15:36)
[12]
Ты когда это поле (или некий параметр ?) декларировал, указывал явно евойный CHARACTER SET &
← →
Id
(2006-05-12 15:40)
[13]
>
> Сергей М. © (12.05.06 15:36) [12]
VARCHAR(10) CHARACTER SET WIN1251
Я надеюсь Вы об этом.
← →
Сергей М. ©
(2006-05-12 15:48)
[14]
Тогда приводи конкретную строчку Делфи-кода, выполнение которой привело к искл-ю с такой вот диагностикой..
← →
Id
(2006-05-13 15:52)
[15]
> Сергей М. © (12.05.06 15:48) [14]
with datamodule1.ibquery1 do begin
close;
sql.clear;
sql.add("insert into Table1 (FIO,Copi)values(:fio,:copi)");
prepare;
paramByName("fio").asstring:=Combobox1.text;
paramByName("copi").asstring:=Combobox2.text;
open;
end;
Ошибка возникает при Open.
← →
Desdechado ©
(2006-05-13 20:43)
[16]
Open переводится как «открыть набор данных»
а ты делаешь INSERT, что переводится как «добавить данные»
отсюда делаем вывод, что метод Open подходит только для SELECT
а прочитав справку, узнаем, что для всего остального подходит ExecSQL
Содержание
- Sql error code 303 что это
- EssentialPIM
- Dynamic SQL Error = SQL error code = -303
- Dynamic SQL Error = SQL error code = -303
Sql error code 303 что это
» title=»>» width=»8″ height=»8″/> Ошибка 303, FireBird
TechnoMag |
|
||
Шустрый Профиль Репутация: нет
CREATE TABLE NEWS_INFO ( |
create or alter procedure INSERT_NEW (
IN_NAME D_NEWS_TITLE,
IN_BUDGET D_PRICE,
IN_URL D_LINK,
IN_CATEGORY D_TAG_NAME,
IN_PLUGIN_NAME D_CITE_NAME,
IN_DESCRIPTION D_NEWS_INFO)
as
declare variable ID_TAG D_ID;
declare variable ID_PLUGIN D_ID;
declare variable ID_NEW_PROJECT D_ID;
begin
select ID FROM cites WHERE NAME=:in_plugin_name
INTO :ID_PlUGIN;
if (NOT exists (SELECT tag_name FROM tags where tag_name=:in_category)) THEN
INSERT INTO TAGs (tag_name) VALUES (:IN_category);
select ID FROM tags WHERE TAG_NAME=:in_category
INTO :ID_TAG;
ID_NEW_PROJECT = GEN_ID(GEN_NEWS_ID, 1);
insert into news (ID, TITLE, PRICE, DATE_NEW, LINK, FAVORITE, ID_CITE_M, TAG)
VALUES (:ID_NEW_PROJECT, :in_name, :in_budget, current_date, :in_url, 0, :ID_PLUGIN, :ID_TAG );
insert into news_info (ID, INFO) VALUES (:ID_NEW_PROJECT, :IN_DESCRIPTION);
POST_EVENT ‘eventNewProjectIsAdded’;
end^
Выполнение хранимой процедуры:
Код |
procedure TDataModule1.InsertNewProject(Name, Budget, Url, Category, Description, PluginName: string); begin pFIBTransactionWrite.Active := true; pFIBStoredProc1.StoredProcName := ‘INSERT_NEW’; pFIBStoredProc1.Params.ParamByName(‘IN_NAME’).AsString := Name; pFIBStoredProc1.Params.ParamByName(‘IN_BUDGET’).AsString := Budget; pFIBStoredProc1.Params.ParamByName(‘IN_URL’).AsString := Url; pFIBStoredProc1.Params.ParamByName(‘IN_CATEGORY’).AsString := Name; pFIBStoredProc1.Params.ParamByName(‘IN_PLUGIN_NAME’).AsString := PluginName; pFIBStoredProc1.Params.ParamByName(‘IN_DESCRIPTION’).AsString := Description; pFIBStoredProc1.Prepare; pFIBStoredProc1.ExecProc; end; |
Код |
Incompatible column/host variable data type. Dynamic SQL error. SQL error code = -303. Arithmetic exception, numeric overflow or string truncation. String right truncation. |
Пару записей вставились, но при последующих попытках была вышестоящая ошибка. Может проблема в длинной строке?
Akella |
|
|||
Творец Профиль Репутация: 29 Добавлено через 34 секунды Добавлено через 2 минуты и 5 секунд
Добавлено через 3 минуты и 18 секунд
или попробуй поставить её до того, как ты начнёшь присваивать значения параметрам |
||||
|
TechnoMag |
|
||
Шустрый Профиль Репутация: нет |
|||
|
Профиль
Группа: Участник
Сообщений: 39
Регистрация: 8.11.2007
Репутация: нет
Всего: 2
Incompatible column/host variable data type. — Вы явно пытаетесь вставить несовместимый тип данных в столбец другого типа! Например, float в int.
Этот ответ добавлен с нового Винграда — http://vingrad.com
Game-lot |
|
||
1. Публиковать ссылки на вскрытые компоненты
2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
1. Базы данных (Paradox, Oracle и т.п.)
2. Способа доступа (ADO, BDE и т.д.)
- Литературу по Дельфи обсуждаем здесь
- Действия модераторов можно обсудить здесь
- С просьбами о написании курсовой, реферата и т.п. обращаться сюда
- Вопросы по реализации алгоритмов рассматриваются здесь
- 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) — крупнейшем в рунете сборнике материалов по Дельфи
- Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь
Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.
Правила форума «Delphi: Базы данных и репортинг» |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) |
0 Пользователей: |
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
[ Время генерации скрипта: 0.1068 ] [ Использовано запросов: 21 ] [ GZIP включён ]
Источник
EssentialPIM
Dynamic SQL Error = SQL error code = -303
Dynamic SQL Error = SQL error code = -303
Post by newbie01.others » Thu Sep 25, 2014 4:11 am
I am getting the error below when Adding a Child. The size of the EPIM FRee database is 7G = 7,086,788KB. I am not doing anything special. I am only adding a new child. Have a reach a limit of some sort? At the moment, I can still read current notes and stuff, delete etc. but can’t add. I’ve empty the trash, run optimize and still the same problem. I thought I can delete some, empty trash and then delete but it is the same error message. I am now trying to make a copy of the current file and then delete lots to size it down and se if that helps. Hopefully it does but then that means I am hitting some kind of limits somewhere, number of notes
Any advice much appreciated. Thanks in advance.
There was an error during the execution of this program.
Click «Send» to submit the report to the developer. Please also provide any steps necessary to reproduce the problem.
Dynamic SQL Error
SQL error code = -303
arithmetic exception, numeric overflow, or string truncation.
——————————————————————————
Exception log with detailed tech info. Generated on 25/09/2014 2:05 p.m..
You may send it to the application vendor, helping him to understand what had happened.
Application title: [ Name of the EPIM file and the EPIM Executable = Essential PImportEssentialPIM.exe ]
Application: EssentialPIM Portable 5.82
——————————————————————————
Exception class: EIBInterBaseError
Exception message: Dynamic SQL Error
SQL error code = -303
arithmetic exception, numeric overflow, or string truncation.
Exception address: 00874014
——————————————————————————
Main thread > Exception thread > ——————————————————————————
Object Logs:
12839646 SetViewMode OK
12839521 SetViewMode 3
12837837 SetViewMode OK
12837649 SetViewMode 0
12823984 DBOpen
——————————————————————————
Active Controls:
12863873 ExceptionDialog TextMemo
12859240 NotePropDialog Panel1 NameEd
12857181 MainForm FormPan FormPan2 NotesForm TreesTC NotesVT
12855652 MainForm FormPan FormPan2 NotesForm RichEditFrame1 TabsTC RichViewEdit
12855137 AdvertForm HtmlViewer1 TPaintPanel ThtTabControl
12854903 MainForm FormPan FormPan2 NotesForm RichEditFrame1 TabsTC RichViewEdit
12837337 MainForm
12824186 PassDialog GroupBox1 PasswordEd
Источник
Читайте также: External exception 80000003 xray sdk
Adblock
detector
Не работает валидация по дате
-
red-ogurez
- Сообщения: 18
- Зарегистрирован: 2012.10.02, 11:33
- Откуда: Салехард
-
Контактная информация:
Не работает валидация по дате
Отображаю данные через TbGridView, добавил форму для фильтрации по дате, ну и валидатор для этого атрибута (public $dateInput; ) , чтоб корректную дату вводили. Фильтр работает. Но если ввести некорректные данные, то валидатор не срабатывает почему-то и
выпадает ошибка CDbCommand не удалось исполнить SQL-запрос: SQLSTATE[HY000]: General error: -303 Dynamic SQL Error SQL error code = -303 conversion error from string «ytryrty» . The SQL statement executed was: SELECT COUNT(DISTINCT t.id) FROM h_smo t LEFT OUTER JOIN org_info info ON (t.info_id=info.id) WHERE (:now BETWEEN info.date_1 AND info.date_2). Bound with :now=’ytryrty’
Подскажите ребятушки…
код здесь:
http://pastebin.com/RYDX91P3
-
yiijeka
- Сообщения: 3103
- Зарегистрирован: 2012.01.28, 09:14
- Откуда: Беларусь
- Контактная информация:
Re: Не работает валидация по дате
Сообщение
yiijeka » 2014.01.27, 15:58
ну так а что вы хотите от этого кода?
Код: Выделить всё
...
$model->dateInput = $_GET['HLpuRegister']['dateInput'];
$model->validate();
$this->render(...);
...
Заполнили, проверили и вывели с ошибкой. Валидация ваша работает…
-
red-ogurez
- Сообщения: 18
- Зарегистрирован: 2012.10.02, 11:33
- Откуда: Салехард
- Контактная информация:
Re: Не работает валидация по дате
Сообщение
red-ogurez » 2014.01.28, 06:45
yiijeka писал(а):ну так а что вы хотите от этого кода?
Код: Выделить всё
... $model->dateInput = $_GET['HLpuRegister']['dateInput']; $model->validate(); $this->render(...); ...
Заполнили, проверили и вывели с ошибкой. Валидация ваша работает…
Может подскажете новичку ?
Я понимаю что должно быть :
Код: Выделить всё
$model->dateInput = $_GET['HLpuRegister']['dateInput'];
if($model->validate())
{
$this->render('index',array(
'model'=>$model,
));
}
else {
$this->render( //тутвывод ошибок, но как это сделать не могу понять);
}
-
yiijeka
- Сообщения: 3103
- Зарегистрирован: 2012.01.28, 09:14
- Откуда: Беларусь
- Контактная информация:
Re: Не работает валидация по дате
Сообщение
yiijeka » 2014.01.28, 08:20
синтаксис between WHERE column_name BETWEEN value1 AND value2; http://www.w3schools.com/sql/sql_between.asp
а у вас
Код: Выделить всё
WHERE (:now BETWEEN info.date_1 AND info.date_2).
где now не имя столбца в таблице, а какая-то ерунда. Должно быть:
Вместо info.date_1 должно быть дата, а не строчка «info.date_1». Туда вместо этой строчки не подставится дата.
Если у вас есть две даты, info.date_1 и info.date_2 можно вместо between ещё использовать compare:
Код: Выделить всё
$criteria->compare('info.date_2', '>=' . $this->dateInput);
$criteria->compare('info.date_1', '<=' . $this->dateInput);
-
red-ogurez
- Сообщения: 18
- Зарегистрирован: 2012.10.02, 11:33
- Откуда: Салехард
- Контактная информация:
Re: Не работает валидация по дате
Сообщение
red-ogurez » 2014.01.28, 09:17
yiijeka писал(а):синтаксис between WHERE column_name BETWEEN value1 AND value2; http://www.w3schools.com/sql/sql_between.asp
а у вас
Код: Выделить всё
WHERE (:now BETWEEN info.date_1 AND info.date_2).
где now не имя столбца в таблице, а какая-то ерунда. Должно быть:
Вместо info.date_1 должно быть дата, а не строчка «info.date_1». Туда вместо этой строчки не подставится дата.
Если у вас есть две даты, info.date_1 и info.date_2 можно вместо between ещё использовать compare:
Код: Выделить всё
$criteria->compare('info.date_2', '>=' . $this->dateInput); $criteria->compare('info.date_1', '<=' . $this->dateInput);
dateInput — это не имя столбца в таблице, а поле из формы. И в модели я объявил этот атрибут, его и использую
Код: Выделить всё
class HLpuRegister extends CActiveRecord
{
public $dateInput;
-
yiijeka
- Сообщения: 3103
- Зарегистрирован: 2012.01.28, 09:14
- Откуда: Беларусь
- Контактная информация:
Re: Не работает валидация по дате
Сообщение
yiijeka » 2014.01.28, 09:36
я это знаю, ладно…
В представлении перед <?php $this->widget(‘bootstrap.widgets.TbGridView’,array(
напишите
Код: Выделить всё
if (!$model->hasErrors()) {
$this->widget('bootstrap.widgets.TbGridView',array(
...
));
} else {
echo 'всё пропало';
}
не будет таблицы, не будет ошибки, не будет проблем.
PS: проблему решить 5 минут работы, описывать вам каждый момент это пол дня….
-
red-ogurez
- Сообщения: 18
- Зарегистрирован: 2012.10.02, 11:33
- Откуда: Салехард
- Контактная информация:
Re: Не работает валидация по дате
Сообщение
red-ogurez » 2014.01.28, 11:06
yiijeka писал(а):я это знаю, ладно…
В представлении перед <?php $this->widget(‘bootstrap.widgets.TbGridView’,array(
напишитеКод: Выделить всё
if (!$model->hasErrors()) { $this->widget('bootstrap.widgets.TbGridView',array( ... )); } else { echo 'всё пропало'; }
не будет таблицы, не будет ошибки, не будет проблем.
PS: проблему решить 5 минут работы, описывать вам каждый момент это пол дня….
спасибо за помощь!
|
|
|
firebird
, sql error=-303
- Подписаться на тему
- Сообщить другу
- Скачать/распечатать тему
|
|
Senior Member Рейтинг (т): 13 |
Здравствуйте. Был запрос IBSQL1->SQL->Add( «execute procedure INSERT_B (:DATETIMEP,:KOD_DOZAP,:MASSAP,:NUMBER_BUNKER,:FLAGP)»); Немного изменил таблицу, соответственно и процедуру. Стало IBSQL1->SQL->Add( «execute procedure INSERT_B (:number_bunkerp, :DATETIMEP, :KOD_DOZAP, :MASSAP, :zad_massap, :flag_errorp, :flag_countp)»); Но перестало выполняться, пишет Dynamic SQL error SQL error code =-303 conversion error from string «39427» IBSQL1->SQL->Clear(); //IBSQL1->SQL->Add( «execute procedure INSERT_B (:DATETIMEP,:KOD_DOZAP,:MASSAP,:NUMBER_BUNKER,:FLAGP)»); IBSQL1->SQL->Add( «execute procedure INSERT_B (:number_bunkerp, :DATETIMEP, :KOD_DOZAP, :MASSAP, :zad_massap, :flag_errorp, :flag_countp)»); IBSQL1->Params->Vars[0]->AsDateTime = NumberDeviceFor_massa_1_2_format; IBSQL1->Params->Vars[1]->AsInteger = iStartX; IBSQL1->Params->Vars[2]->Value = KODDOZA; IBSQL1->Params->Vars[3]->Value = massa; IBSQL1->Params->Vars[4]->AsInteger = zad_massa; IBSQL1->Params->Vars[5]->AsInteger = flag_err; IBSQL1->Params->Vars[6]->AsInteger = flag_count; IBSQL1->ExecQuery(); //Вот эта строка не хочет выполняться IBTransaction1->CommitRetaining(); На что обратить внимание ???? |
MIF |
|
Integer, похоже, 16битный. Передаваемое значение 39427 больше максимально допустимого значения 32767. Ищи 32битный инт. |
sten_11 |
|
Senior Member Рейтинг (т): 13 |
Всем спасибо ошибка была вот в чём IBSQL1->Params->Vars[0]->AsDateTime = NumberDeviceFor_massa_1_2_format; //NumberDeviceFor_massa_1_2_format — это инт IBSQL1->Params->Vars[1]->AsInteger = iStartX;//iStartX-это дата ->value и никогда не ошибёшся |
0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
0 пользователей:
- Предыдущая тема
- Delphi: Базы данных
- Следующая тема
[ Script execution time: 0,0210 ] [ 16 queries used ] [ Generated: 9.02.23, 15:20 GMT ]