![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() есть такой вот кусок кода:
Код:
with DataModule1.Query1 do begin Parameters.ParamByName('param1').Value :=ComboBox1.Text; Parameters.ParamByName('param2').Value :=ComboBox2.Text; Parameters.ParamByName('param3').Value :=ComboBox3.Text; execSql; end; Вылезает ошибка "Приложение использует для текущей операции значение неверного типа." Объясните пожалуйста, что тут не так. Не могу понять, чем тут типы то не угодили... sql скрипт просто в базу добавляет записи insert`ом. Последний раз редактировалось Admin, 13.12.2010 в 13:39. |
#2
|
||||
|
||||
![]() Кавычки однако нужны...
Некоторые программисты настолько ленивы, что сразу пишут рабочий код. Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты. |
#3
|
|||
|
|||
![]() где они нужны? Параметры у меня в кавычках.
|
#4
|
||||
|
||||
![]() Текст запроса покажите. Обычно такая ошибка происходит когда пытаются сцепить текст и число или при сравнении ожидается текст, а передается неизвестная константа.
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#5
|
||||
|
||||
![]() Цитата:
Код:
Parameters.ParamByName('param1').Value := #39+ComboBox1.Text+#39; Последний раз редактировалось movnet, 13.12.2010 в 18:36. |
#6
|
||||
|
||||
![]() я вообще не знаю у TQuery (судя по имени Query1) свойства "Parameters" (Delphi 3-Delphi 7)
![]() Код:
with Query1 do begin Prepare; ParamByName('Param1').AsString:=Caption; ParamByName('Param2').AsInteger:=Tag; ParamByName('Param3').AsBoolean:=Visible; ExecSQL; end; Пишу программы за еду. __________________ |
#7
|
|||
|
|||
![]() текст запроса проще некуда:
SQL Код:
INSERT INTO Table1(field1,field2) VALUES(:param1,:param2) ничего из выше перечисленного не заставило ошибку изчезнуть(((( Может есть еще какие нибудь варианты решения? |
#8
|
|||
|
|||
![]() Цитата:
А на такое вообще Delphi 7 изругалась. Сказало, что Prepare и ParamByName неопределенные переменные. |
#9
|
||||
|
||||
![]() Цитата:
http://data.cod.ru/79774 Код:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DB, DBTables; type TForm1 = class(TForm) Query1: TQuery; procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin with Query1 do begin Prepare; ParamByName('Param1').AsString:=Caption; ParamByName('Param2').AsInteger:=Tag; ParamByName('Param3').AsBoolean:=Visible; ExecSQL; end; end; end. Пишу программы за еду. __________________ |
#10
|
|||
|
|||
![]() возникло недопонимание
![]() Последний раз редактировалось nanometr, 14.12.2010 в 11:28. |
#11
|
|||
|
|||
![]() А поля в базе в которые пишите все стринговые?
Новый вирус - "БОМЖ"! Он просто роется в Корзине...и спит под ярлычком "Сетевое окружение" |
#12
|
||||
|
||||
![]() -удали это компонент TADOQuery из TDataModule и добавь новый TADOQuery
-назови также, чтобы код не переписывать -задать свойству Connection соотв. компонент TADOConnection -TADOConnection сделать Connected = True -в свойство SQL впиши свой запрос "insert into..." -пробовать запустить Пишу программы за еду. __________________ |
#13
|
|||
|
|||
![]() Поля все стринговые в базе.
Сейчас попробую удалить компонент и занова все сделать.. Хотя я так уже пробывал пару раз, не помогло. |
#14
|
|||
|
|||
![]() и снова не помогло. я подумываю весь дата модуль убить с заного сделать может..
В чем может быть проблема? Не понимаю. |
#15
|
||||
|
||||
![]() в дизайнере щелкни на свойство Parameters и смотри какие типы у параметров (DataType). можно попробовать всем сделать ftWideString.
Пишу программы за еду. __________________ |