Имя: Пароль:
1C
1С v8
Запись не строковых типов в базу MySQL
0 ЭЦ
 
25.12.12
13:03
ГОСПОДА !
Имеется процедура записи данных в базу MySQL
//-----------------------------------------
Процедура ЗаписьSQL(SQLСоединение,ТекстSQL)
 Команда = Новый COMОбъект("ADODB.Command");
 Команда.ActiveConnection = SQLСоединение;
 Команда.CommandType = 1;
 Комада.CommandText = ТекстSQL;
 Команда.Execute();
КонецПроцедуры

ТекстSQL = "insert into ИмяТаб (Поле1,Поле2) values('Значение1','Значение2')";
ЗаписьSQL(SQLСоединение,ТекстSQL)
//-------------------------------
Если Поле1 и Поле2 имеют тип nvarchar - то все пишется нормально

Вопрос : Как записать данные если
Поле1 имеет тип - bit
Поле2 имеет тип - int

Прошу подсказать.
Спасибо
1 Жан Пердежон
 
25.12.12
13:04
параметры?
2 vmv
 
25.12.12
13:05
64
3 ЭЦ
 
25.12.12
13:09
(1) Прошу подсказать синтаксис
4 vmv
 
25.12.12
13:11
(3) сафеаррей наверна - уже все бухие, только я не боюсь фантазировать
5 ЭЦ
 
25.12.12
16:17
Команда = Новый COMОбъект("ADODB.Command");
Команда.ActiveConnection = SQLСоединение;
Команда.NamedParameters = True;
Команда.CommandType = 1;
Знач = истина;
Par1 = Команда.CreateParameter("@PRIZ",11,,,Знач);
Команда.Parameters.Append(Par1);
Команда.Parameters.Refresh();
Команда.CommandText= "
| insert into TAB_NAME (Name,Priz)
| values('НАИМЕНОВАНИЕ',@PRIZ)
|";
Команда.Execute();

Вылетает с ошибкой.
Параметр создается нормально.
В чем тут может быть дело?
6 ЭЦ
 
25.12.12
19:49
ы
7 ЭЦ
 
25.12.12
20:46
С параметрами чтото не заладилось а вот так работает:
//---------------------------------------
Команда = Новый COMОбъект("ADODB.Command");
Команда.ActiveConnection = SQLСоединение;
Команда.NamedParameters = True;
Команда.CommandType = 1;
//Знач = истина;
//Par1 = Команда.CreateParameter("@PRIZ",11,,,Знач);
//Команда.Parameters.Append(Par1);
//Команда.Parameters.Refresh();
Команда.CommandText= "
| insert into TAB_NAME (Name,Priz)
| values('НАИМЕНОВАНИЕ',1)
|";
Команда.Execute();
2 + 2 = 3.9999999999999999999999999999999...