Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB6 > Проблема с дробными числами...


Автор: Baa 11.10.2002, 08:31
Есть у нас два дробных числа...
А далее, нам надо составить запрос сикульный на внесение этого числа в табличку... но тут возникает проблема, сикул ругается на зяпятую в числе... Точку он хочет... че делать?

Автор: Vit 11.10.2002, 08:54
1) Пишем кверю с параметрами
2) Передаём все числа в крерю через параметры

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

Автор: Baa 11.10.2002, 09:38
Дык дело в том, что такой же код, токо на яваскрипте отлично работает... ну нужен именно вбс...
Вот как тут чего передать?
з.ы. я басик жутко фигово знаю :)
strDSN = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=Billing1;Data Source=SERVER"

Set objConn = WScript.CreateObject("ADODB.Connection")
Set objRs1 =  WScript.CreateObject("ADODB.RecordSet")


objConn.Open strDSN
strSQL = "SELECT * FROM tblUsers"
objRs1.Open strSQL, strDSN
objRs1.MoveFirst()

do while not (objRs1.EOF)

ID = objRs1.Fields("ID").Value
US = objRs1.Fields("UserSumm").Value
UserSummNew = US - 0.75
strSQL = "UPDATE tblUsers SET UserSumm = " & UserSummNew & " WHERE ID = "  & ID
WScript.echo (strSQL)
objConn.Execute (strSQL)
objRs1.MoveNext()
Loop
objRs1.Close()
objConn.Close()

Автор: Vit 11.10.2002, 11:08
А если точку на запятую заменить? Разница может быть в том что одни языки могут точку считать всегда десятичным разделителем, а другие брать значение десятичного разделителя из текущих установок винды...

Автор: Baa 11.10.2002, 19:33
О! Пасибо те! :) Поменял в винде и его перестало клинить... вообще, это маразм, что он так делает...

Автор: Vit 11.10.2002, 23:49
Просто Java - многоплатформенная, поэтому десятичный разделитель найти не в состоянии и использует только точку, а VB - только под винду, там национальные форматы чётко определены, вот и берёт формат винды...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)