powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Соответствие типов данных ADO и MS SQL
3 сообщений из 3, страница 1 из 1
Соответствие типов данных ADO и MS SQL
    #35251623
Bernye
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени уважаемые!
Есть SP на MS SQL 2005 Express. В которую передаются два параметра
Код: plaintext
 @dDate DateTime,@cPadcStr varchar( 10 ) 
Осуществляю доступ с помощью ADO из JScript.

Код: plaintext
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.
.................
    var oCmd = new ActiveXObject("ADODB.Command");
    var oRs = new ActiveXObject("ADODB.Recordset");
     oCmd.CommandText = "dbo.MyProcedure";
     oCmd.CommandType = adCmdStoredProc ; //  4 

     // the Command object's parameters collection
     var adDBTimeStamp =  135  ;
     var adDBDate =  133  ;
     var adVarChar =  200  ;
     var adParamInput =  1  ;
     var adChar =  129  ;
     var adDate =  7  ;
     var adVariant =  12  ;
     var dDats = new Date();
     var dDats1 = "20080412" ;

     var prmDate = oCmd.CreateParameter("dDate", adDBDate, adParamInput);
         oCmd.Parameters.Append(prmDate);
         prmDate.Value = dDats ;
     var prmName = oCmd.CreateParameter("cPadcStr", adVarChar, adParamInput);
         oCmd.Parameters.Append(prmName);
         prmName.Value = "ru-ru";
         //**********************
         oCmd.ActiveConnection = oConn;
         oRs = oCmd.Execute();
- По 1 параметру prmDate: на строке
Код: plaintext
1.
 prmDate.Value = dDats ;
Ошибка.

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

- По 2 параметру prmName: на строке
Код: plaintext
oCmd.Parameters.Append(prmName) ;
- ошибка
Неправильно определен объект Parametr. Представлены несовместимые или неполные сведения Если вместо adVarChar использовать adVariant , то ошибка выполнения

Код: plaintext
 oRs = oCmd.Execute(); 
Implicit conversion from data type sql_variant to varchar is not allowed. Use th
e CONVERT function to run this query.


Буду благодарен за совет как решить данную проблему.
...
Рейтинг: 0 / 0
Соответствие типов данных ADO и MS SQL
    #35252532
Думающий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А так
Код: plaintext
var prmDate = oCmd.CreateParameter("dDate", adDBDate, adParamInput, , dDats);
...
Рейтинг: 0 / 0
Соответствие типов данных ADO и MS SQL
    #35254519
Bernye
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
to Думающий : Спасибо за ответ. Я решил эту проблему следующим образом.
- Первый параметр - заменил на тип adChar и указал длину

Код: plaintext
1.
2.
3.
  var cDate = "20080401"
  var prmDate = oCmd.CreateParameter("cDate", adChar, adParamInput, 8 ,cDate) 
  oCmd.Parameters.Append(prmDate);

- Второй параметр - указал длину

Код: plaintext
1.
2.
     var prmName = oCmd.CreateParameter("cPadcStr", adVarChar, adParamInput, 8 ,"ru-ru");
      oCmd.Parameters.Append(prmName);
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Соответствие типов данных ADO и MS SQL
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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