Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 | 2 |

 

  Вопрос: Как получить разделитель десятичных разрядов Добавлено: 12.05.06 15:02  

Автор вопроса:  student-uni
Как получить какои знак используется как разделитель десятичных разрядов B WIN XP
VS2003
(напр 2,35 - запятая или 2.35 - точка )


Спасибо

Ответить

  Ответы Всего ответов: 18  

Номер ответа: 1
Автор ответа:
 student-uni



Вопросов: 122
Ответов: 257
 Профиль | | #1 Добавлено: 12.05.06 15:19
 ;Dim nfi As NumberFormatInfo = New CultureInfo("de-DE", False).NumberFormat

        MsgBox(nfi.NumberDecimalSeparator.ToString())
        nfi.NumberDecimalSeparator = "."
        MsgBox(nfi.NumberDecimalSeparator.ToString())

Ответить

Номер ответа: 2
Автор ответа:
 student-uni



Вопросов: 122
Ответов: 257
 Профиль | | #2 Добавлено: 12.05.06 15:23
так можно определить , а как его программно переставить ?

Ответить

Номер ответа: 3
Автор ответа:
 Viper



ICQ: 249094859 

Вопросов: 0
Ответов: 310
 Профиль | | #3 Добавлено: 12.05.06 15:31
Сие свойство можно не только читать, но и устанавливать

Ответить

Номер ответа: 4
Автор ответа:
 student-uni



Вопросов: 122
Ответов: 257
 Профиль | | #4 Добавлено: 12.05.06 17:40
установить то можно, но если ты посмотришь потом в нац - настроиках там ничего не изменится.

Ответить

Номер ответа: 5
Автор ответа:
 mich



Вопросов: 0
Ответов: 2
 Web-сайт: saiha.info/mich
 Профиль | | #5
Добавлено: 12.05.06 21:27
поищи настройку в реестре.

Ответить

Номер ответа: 6
Автор ответа:
 astoro



ICQ: 649109 

Вопросов: 31
Ответов: 391
 Профиль | | #6 Добавлено: 13.05.06 10:15
HKEY_CURRENT_USER\Control Panel\International\sDecimal

Ответить

Номер ответа: 7
Автор ответа:
 mich



Вопросов: 0
Ответов: 2
 Web-сайт: saiha.info/mich
 Профиль | | #7
Добавлено: 13.05.06 12:00
А зачем тебе програмно менять эту настройку?

Ответить

Номер ответа: 8
Автор ответа:
 student-uni



Вопросов: 122
Ответов: 257
 Профиль | | #8 Добавлено: 13.05.06 12:24
astoro - спасибо попробую

2 mich - если она стоит на запятую - у меня идёт ошибка в SQL-запросе с где присутствуют дробные числа. SQL-сервер воспринимает запятую как разделитель между значениями полей. Например

INSERT INTO ARTUKUL, PRICE VALUE (WATER, 2,35)

он "думает" , что я дал ему два поля и три значения.

Другое дело

INSERT INTO ARTUKUL, PRICE VALUE (WATER, 2.35)

тут всё окей.

Поскольку заставлять юзера менять ручками не совсем корректно, приходится изменять её программно.

Я ещё не проверил совет astoro, но когда я менял ручками, заметил следующую фигню,

настройка разрядов не меняется в моей программе до тех пор пока я не выйду и не зайду в неё снова!!!
То есть типа прога моя считала эту настройку при загрузке и живёт с этим дальше, хотя я настройку изменил уже руками.
Закрываю прогу открываю снова - изменена.
Такое вот.
Поетому если метод astoro работает - я это при инсталляции просто сменю. Есть конечно риск что у юзверя другие проги материться начнут. :-)

Ответить

Номер ответа: 9
Автор ответа:
 astoro



ICQ: 649109 

Вопросов: 31
Ответов: 391
 Профиль | | #9 Добавлено: 13.05.06 13:03
ну... приличные проги матерится обязательно начнут.
лучше при передаче данных в запрос изменить запятые на точки. например replace(cstr(MyVarFloating),",",".";)

Ответить

Номер ответа: 10
Автор ответа:
 GSerg



Вопросов: 0
Ответов: 1876


 Профиль | | #10 Добавлено: 13.05.06 14:08
Нда...
Из всех вариантов заставить работать SQL был выбран самый ______________ (нужное вписать по настроению).

student-uni, дай мне доступ к твоей проге, я через неё запросто грохну твою базу.

Про параметрические запросы слышал ли автор вопроса что-нибудь?


Поскольку заставлять юзера менять ручками не совсем корректно, приходится изменять её программно

Всё наоборот. Как раз за тихое изменение региональных настроек ручки надо отрывать вместе с ножками.

Ответить

Номер ответа: 11
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #11 Добавлено: 13.05.06 14:19
Всё наоборот. Как раз за тихое изменение региональных настроек ручки надо отрывать вместе с ножками

GSerg, 5 баллов! :-))))
Блин,этож надо было до такого додуматься!
Нафиг надо SQL-запрос в поядок приводить, проще региональные настройки изменить!!
В юмор!!! адназначно!! ))))

Ответить

Номер ответа: 12
Автор ответа:
 Павел



Администратор

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #12
Добавлено: 13.05.06 17:07
:)

Ответить

Номер ответа: 13
Автор ответа:
 student-uni



Вопросов: 122
Ответов: 257
 Профиль | | #13 Добавлено: 13.05.06 21:21
Погодите в Юмор. Это ещё не всё. :-)

2 GSerg -

Про параметрические запросы слышал ли автор вопроса что-нибудь?

Передать значение через параметр ?
Я не знаю заранее как будет выглядеть запрос
и сколько мне потребуется параметров.

Дело в том, что я заполняю абсолютно свежесозданную пустую базу в SQL данными
хранящимися в БД Аксесс и делаю это следующим образом (держите лифчики)
1. считываю список имен таблиц в массив
2. По очереди открываю каждую таблицу
2.1 Создаю массив имен полей
3. Заливаю содержимое в Датасет
4. Беру строку из датасета
5. Клею в цикле в текстовую переменную в SQL-запрос - имена полей отдельно,
содержимое - отдельно:
INSERT INTO +

ARTUKUL + PRICE + итд...

+ VALUE +

";("+ "WATER" + "," + 2.35+ итд... + ";)"

6. Выполняю запрос
7. Беру следующую строку из датасет.
И так до конца дата сета.
Потом другую таблицу.
Таблицы имеют разное число столбцов. Я не знаю сколько может потребоваться параметров, может два , а может сто.

Я спрашивал здесь как это по-умному сделать, но никто не ответил. Пришлось так вот.

(Вот теперь можно в Юмор
:-)


дай мне доступ к твоей проге, я через неё запросто грохну твою базу.

(Ломать не строить.) Это каким же образом ?


2 astoro

лучше при передаче данных в запрос изменить запятые на точки. например replace(cstr(MyVarFloating),",",".";)

То есть я преобразую 2,35 в строку и меняю запятую на точку (2.35) ?

Ответить

Номер ответа: 14
Автор ответа:
 GSerg



Вопросов: 0
Ответов: 1876


 Профиль | | #14 Добавлено: 14.05.06 05:22
Дело в том, что я заполняю абсолютно свежесозданную пустую базу в SQL данными
хранящимися в БД Аксесс и делаю это следующим образом

В принципе, я думаю стоит дать автору вопроса ссылку типа http://www.sysadmins.ru/rtfm/ask_howto.htm
Вопрос: Как можно с помощью X сделать Y?
 
Ответ: Если вы хотите сделать Y, надо так и спрашивать, не предполагая заранее использование метода, который может вовсе не подходить. Вопросы такого вида часто задают те, кто не просто ничего не знает об X, но сбит с толку решаемой проблемой Y и слишком сконцентрирован на деталях своей конкретной ситуации. Обычно лучше игнорировать таких людей, пока они не сформулируют свою проблему лучше.

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

дай мне доступ к твоей проге, я через неё запросто грохну твою базу.

(Ломать не строить.) Это каким же образом ?

Поищи в гугле простую русскую фразу SQL injection.

Ответить

Номер ответа: 15
Автор ответа:
 Павел



Администратор

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #15
Добавлено: 14.05.06 12:56
Вообще для перекидывания данных между БД лучше не париться, а заюзать
Import&Export Wizard из комплекта SQL Server Client Tools.
Я именно им пользуюсь, если надо перелить информацию между базами
SQL Server или из Access в SQL Server.

Ответить

Страница: 1 | 2 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам