powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / ошибка function argument value, type, or count is invalid
25 сообщений из 26, страница 1 из 2
ошибка function argument value, type, or count is invalid
    #37886578
slatapol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
При добавлении данных в базу SQL возникает такая ошибка.
Что она может означать?

код кнопки добавить:
IF regim_rabot=1
ins_str= "insert into tip_posehenia (tip_posehenia, cena) values ('" + ALLTRIM(.text1.value)+ "',"+ALLTRIM(STR(.text2.value))+ ")"
id7 =SQLEXEC(con, ins_str)
IF id7<=0
MESSAGEBOX("Ошибка при добавлении данных", 0, "Ошибка")
RETURN
ENDIF
...
Рейтинг: 0 / 0
ошибка function argument value, type, or count is invalid
    #37886598
Jonny540
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
slatapol,

Разные типы данных.
Почитай свой предыдущий топик, и все поймешь...
...
Рейтинг: 0 / 0
ошибка function argument value, type, or count is invalid
    #37886635
IgorNG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
slatapolПри добавлении данных в базу SQL возникает такая ошибка.
Что она может означать?

код кнопки добавить:
IF regim_rabot=1
ins_str= "insert into tip_posehenia (tip_posehenia, cena) values ('" + ALLTRIM(.text1.value)+ "',"+ALLTRIM(STR(.text2.value))+ ")"
id7 =SQLEXEC(con, ins_str)
IF id7<=0
MESSAGEBOX("Ошибка при добавлении данных", 0, "Ошибка")
RETURN
ENDIF

Видимо, к советам не принято прислушиваться.
...
Рейтинг: 0 / 0
ошибка function argument value, type, or count is invalid
    #37886760
slatapol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Jonny540,

разные типы данных у чего?
...
Рейтинг: 0 / 0
ошибка function argument value, type, or count is invalid
    #37886763
slatapol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IgorNG,

если бы я поняла ваш совет, то обязательно бы прислушалась
...
Рейтинг: 0 / 0
ошибка function argument value, type, or count is invalid
    #37886766
Ffffffffffffffff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
text1.value и text2.value - какие типы данных?
...
Рейтинг: 0 / 0
ошибка function argument value, type, or count is invalid
    #37886783
IgorNG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
slatapolПри добавлении данных в базу SQL возникает такая ошибка.
Что она может означать?

код кнопки добавить:
IF regim_rabot=1
ins_str= "insert into tip_posehenia (tip_posehenia, cena) values ('" + ALLTRIM(.text1.value)+ "',"+ALLTRIM(STR(.text2.value))+ ")"
id7 =SQLEXEC(con, ins_str)
IF id7<=0
MESSAGEBOX("Ошибка при добавлении данных", 0, "Ошибка")
RETURN
ENDIF

lvValue1 = ThisForm.text1.value
lvValue2 = ThisForm.text1.value
ins_str = "insert into tip_posehenia (tip_posehenia, cena) values (?m.lvValue1, ?m.lvValue2)"
id7 = SQLEXEC(con, ins_str)

Найди 10 отличий
...
Рейтинг: 0 / 0
ошибка function argument value, type, or count is invalid
    #37886820
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы бы все-таки сделали так, как описано в Вашем предыдущем вопросе. Зачем же повторять ошибки, на которые Вам уже указали

добавление данных в SQL таблицу через курсор
...
Рейтинг: 0 / 0
ошибка function argument value, type, or count is invalid
    #37886854
slatapol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот код с другой формы аналогичный и всё работает
IF regim_rabot=1
ins_str= "insert into diagnos (name_diagnos) values ('" + ALLTRIM(.text1.value)+ "')"
id7 =SQLEXEC(con, ins_str)
IF id7<=0
MESSAGEBOX("Ошибка при добавлении данных", 0, "Ошибка")
RETURN
ENDIF
Зачем тогда писать ка вы советуете, значит дело не в этом

lvValue1 = ThisForm.text1.value
lvValue2 = ThisForm.text1.value
ins_str = "insert into tip_posehenia (tip_posehenia, cena) values (?m.lvValue1, ?m.lvValue2)"
id7 = SQLEXEC(con, ins_str)
...
Рейтинг: 0 / 0
ошибка function argument value, type, or count is invalid
    #37886857
slatapol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот аналогичный код с другой формы, которая работает,
IF regim_rabot=1
ins_str= "insert into diagnos (name_diagnos) values ('" + ALLTRIM(.text1.value)+ "')"
id7 =SQLEXEC(con, ins_str)
IF id7<=0
MESSAGEBOX("Ошибка при добавлении данных", 0, "Ошибка")
RETURN
ENDIF

так зачем писать как вы советуете, значит ошибка в другом

lvValue1 = ThisForm.text1.value
lvValue2 = ThisForm.text1.value
ins_str = "insert into tip_posehenia (tip_posehenia, cena) values (?m.lvValue1, ?m.lvValue2)"
id7 = SQLEXEC(con, ins_str)

Найди 10 отличий[/quot]
...
Рейтинг: 0 / 0
ошибка function argument value, type, or count is invalid
    #37886858
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
slatapolЗачем тогда писать ка вы советуете, значит дело не в этомчтобы подобные детские ошибки не всплыли потом в третьей,четвёртой,...,100500-й форме.
...
Рейтинг: 0 / 0
ошибка function argument value, type, or count is invalid
    #37886861
slatapol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ffffffffffffffff,

в таблице sql в которую добавляем tex1.value -
...
Рейтинг: 0 / 0
ошибка function argument value, type, or count is invalid
    #37886865
slatapol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ffffffffffffffff,

в таблице sql в которую добавляем tex1.value - char
tex2.value - numeric
...
Рейтинг: 0 / 0
ошибка function argument value, type, or count is invalid
    #37886882
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поскольку Вы хотите лично наступить на Все те "грабли", на которые уже наступили другие программисты, то задайте себе такой вопрос:

Каким образом FoxPro определяет какой именно тип данных записан в объекте TextBox?

Для особо непонятливых, намекаю

Код: sql
1.
2.
?Type(".text1.value")
?Type(".text2.value")



Ну, и для совсем не сообразительных, попробуйте в командом окне дать команду

Код: sql
1.
?str("123")
...
Рейтинг: 0 / 0
ошибка function argument value, type, or count is invalid
    #37887238
slatapol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IgorNG,

сделала так как предлагали. Пишет ошибку odbc
...
Рейтинг: 0 / 0
ошибка function argument value, type, or count is invalid
    #37887253
IgorNG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
slatapol,

Так проверьте тив данных в таблице и тип данных в TextBox. Если в TextBox не привязки к данным, то значение там символьное.
...
Рейтинг: 0 / 0
ошибка function argument value, type, or count is invalid
    #37887258
slatapol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВладимирМ,

Расскажите пожалуйста для вообще непонятливых. У меня есть таблица база данных sql, подключенная к foxpro, я хочу в таблицу этой базы данных занести с формы информацию с помощью texbox. При этом 1 из полей таблицы имеет тип данных numeric, использую для перевода STR(), что конкретно я не так делаю.?
...
Рейтинг: 0 / 0
ошибка function argument value, type, or count is invalid
    #37887262
slatapol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IgorNG,

ну да там символьное значение , а мне нужно в таблицу sql занести числовое
...
Рейтинг: 0 / 0
ошибка function argument value, type, or count is invalid
    #37887263
IgorNG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
slatapol,

Кстати, я на писал с ошибкой :)

lvValue2 = ThisForm.text1.value
lvValue2 = ThisForm.text2.value
...
Рейтинг: 0 / 0
ошибка function argument value, type, or count is invalid
    #37887264
slatapol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IgorNG,

я заметила и писала для texbox2
...
Рейтинг: 0 / 0
ошибка function argument value, type, or count is invalid
    #37887276
IgorNG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
slatapol,

Если нет привязки к данным, я бы сделал в ините этого Textbox: THIS.Value = 0 или THIS.Value = 0.00, не знаю как Вам нужно и дальше бы не парился.
...
Рейтинг: 0 / 0
ошибка function argument value, type, or count is invalid
    #37887301
Jonny540
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
slatapolIgorNG,ну да там символьное значение , а мне нужно в таблицу sql занести числовоеИз этого
Код: plsql
1.
"+ALLTRIM(STR(.text2.value))+ "


оставь
Код: plsql
1.
.text2.value


ну и это
IgorNGЕсли нет привязки к данным, я бы сделал в ините этого Textbox: THIS.Value = 0 или THIS.Value = 0.00 нисколько не помешает.
...
Рейтинг: 0 / 0
ошибка function argument value, type, or count is invalid
    #37887583
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
slatapolВладимирМ,

Расскажите пожалуйста для вообще непонятливых. У меня есть таблица база данных sql, подключенная к foxpro, я хочу в таблицу этой базы данных занести с формы информацию с помощью texbox. При этом 1 из полей таблицы имеет тип данных numeric, использую для перевода STR(), что конкретно я не так делаю.?
Рассказываю

Тип данных объекта TexBox определяется типом данных поля таблицы (курсора) или переменной, указанной в свойстве TexBox.ControlSource. Если в этом свойстве ничего не указано, то тип данных определяется по значению свойства TextBox.Value в момент инициализации объекта (как правило, это значение задается в дизайнере формы или класса). Если у Вас не задано ни свойство TexBox.ControlSource, ни свойство TextBox.Value, то, по умолчанию, объект TextBox получает символьный (строковый) тип данных.

Как следствие, попытка выполнить функцию STR() у которой в качестве аргумента указана строка приводит к описанному Вами сообщению об ошибке. Данная функция ожидает получить в качестве значения для преобразования число, а вовсе не строку.

Вам достаточно в дизайнере формы для объекта TextBox указать в свойстве TextBox.Value значение 0 (для Integer) или 0.00 (для Numeric). После чего объект TextBox будет работать с числовыми типами данных.
...
Рейтинг: 0 / 0
ошибка function argument value, type, or count is invalid
    #37887585
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Jonny540slatapolIgorNG,ну да там символьное значение , а мне нужно в таблицу sql занести числовоеИз этого
Код: plsql
1.
"+ALLTRIM(STR(.text2.value))+ "


оставь
Код: plsql
1.
.text2.value


ну и это
IgorNGЕсли нет привязки к данным, я бы сделал в ините этого Textbox: THIS.Value = 0 или THIS.Value = 0.00 нисколько не помешает.
Вы бы определились что именно ему надо сделать! Вы же дали взаимоисключающие советы. Либо инициализировать как число, либо отменить преобразование типов. А советовать делать и то, и другое - снова получим ошибку.
...
Рейтинг: 0 / 0
ошибка function argument value, type, or count is invalid
    #37887598
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
slatapolВладимирМ,

Расскажите пожалуйста для вообще непонятливых. У меня есть таблица база данных sql, подключенная к foxpro, я хочу в таблицу этой базы данных занести с формы информацию с помощью texbox. При этом 1 из полей таблицы имеет тип данных numeric, использую для перевода STR(), что конкретно я не так делаю.?
Попробую еще зайти с другой стороны. Может быть так лучше будет понятно.

Вам необходимо передать на сервер команду вида

Код: sql
1.
insert into tip_posehenia (tip_posehenia, cena) values ('Консультация', 1.23)



Точнее, Вам надо сформировать символьную строку, которая будет содержать в себе этот текст. В данном случае, Ваша проблема заключается в формировании цены. Здесь следует обратить внимание на следующие моменты:

1. Символом разделителем целой и дробной части обязательно должна быть точка. Запятая в данном контексте будет инетрпетироваться как разделитель полей, что приведет к ошибке на стороне сервера
2. Число должно быть преобразовано в строку символов

Символ-разделитель целой и дробной части

Если Вы используете функцию STR() без дополнительных параметров, то в момент преобразования числа в строку дробная часть просто отбрасывается. В этом случае вопрос о разделителе целой и дробной части вообще не стоит. Дробной части просто нет.

Если же Вы хотите преобразовать число с дробной частью, то предварительно следует проверить, какой именно символ-разделитель используется в среде FoxPro. Для этого можно использовать функцию

Код: sql
1.
?SET("Point")



Если она вернет значение отличное от символа точки, то необходимо будет либо на момент преобразования числа в строку установить в качестве разделителя этот символ, либо отдельно преобразовывать целую и дробные части числа и "вручную" собирать из них строку нужного вида.

Как более простой вариант можно после конвертации в строку сделать в полученной строке замену символа разделителя на точку. Примерно так

Код: sql
1.
?ChrTran(Transform(123.45), SET("POINT"), ".")




Число должно быть преобразовано в строку символов

В данном случае Ваша ошибка именно в этом.

Если TexBox.Value имеет символьный тип данных, то преобразование в строку нужного формата будет заключаться в исключении всех возможных пробелов и установке в качестве разделителя целой и дробной части символа точки. Функция STR() в этом случае не нужна, поскольку число и так уже записано как строка

Но здесь проблема в том, что невозможно никаким способом однозначно определить что именно (какой символ) является этим самым разделителем целой и дробной части. Ведь это просто строка. Что пользователю захотелось поставить, то он и поставил.

Если TexBox.Value имеет числовой тип данных, то преобразование в строку делается как описано чуть выше.
...
Рейтинг: 0 / 0
25 сообщений из 26, страница 1 из 2
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / ошибка function argument value, type, or count is invalid
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]