Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 |

 

  Вопрос: Проблема с кириллицей при INSERT в MySQL Добавлено: 21.03.07 23:53  

Автор вопроса:  Mike
Пытаюсь из VB.net через ODBC выполнить INSERT INTO ...
Если ввожу данные латиницей, то все работает, - т.е., запись в БД добавляется, если кириллицей - выдает чушь, типа данные для поля ХХХХ слишком длинные. Для каждого текстового поля таблицы в БД задана ср1251, иначе вообще ничего прочесть невозможно. Selectы отрабатывают нормально, если в коде имеется это:
Dim cmdCodePage As New OdbcCommand("set character_set_results='cp1251'", ODBCcn)
cmdCodePage.ExecuteScalar() (иначе возвращаются вопросики)
А INSERT с кирилицей не работает никак ... Че делать то?

Ответить

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

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



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


 Профиль | | #1 Добавлено: 22.03.07 11:04
set character set cp1251

Ответить

Номер ответа: 2
Автор ответа:
 Mike



Вопросов: 1
Ответов: 3
 Профиль | | #2 Добавлено: 22.03.07 21:46
Лаконичность - это бесспорно достоинство мужчины, но, к сожалению, не могу его оценить, т.к., во-первых, если бы знал, куда и как это засунуть, то не стал бы и спрашивать, а, во-вторых, что-то мне это сильно напоминает... Не то ли это самое, что написано в моем посте?

Ответить

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



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


 Профиль | | #3 Добавлено: 22.03.07 23:45
Ищем отличия.

set character_set_results='cp1251'
set character set cp1251

Ответить

Номер ответа: 4
Автор ответа:
 Mike



Вопросов: 1
Ответов: 3
 Профиль | | #4 Добавлено: 23.03.07 00:36
ОК. Теперь я знаю (верю), что это разные вещи (ты это теперь сказал). И догадываюсь, что ты советуешь мне это где-то как-то написать. А может просто издеваешься (я не знаю). Если бы знал, что, как и куда, то зачем бы я стал беспокоить почтенную публику глупыми вопросами?

Ответить

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


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #5
Добавлено: 23.03.07 02:35
Ну наверно можно было догадаться, что это SQL-запрос. Или погуглить по этому словосочетанию и убедиться в этом. С какой целью обычно отвечают на вопрос SQL-запросом? Видимо, тот, кто ответил, предлагает этот SQL-запрос выполнить? Зачем? Интересный вопрос, он во многом зависит от мотивации отвечающего. Но обычно все же на форумах мотивация отвечающего заключается в том, чтобы подсказать направление поиска для спрашивающего. Таким образом, если предположить, что спрашивающего интересует ответ на свой вопрос или решение его проблемы, то приведенный в качестве ответа SQL-запрос надо выполнить именно для решения этой самой проблемы.

Ответить

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



Вопросов: 1
Ответов: 3
 Профиль | | #6 Добавлено: 23.03.07 13:38
Я совершенно согласен с твоим анализом. Я заострил на ситуации внимание, именно потому, что она типична. Проблама в том, что специалисту часто кажется очевидным то, что для новичка таковым вовсе не является. Можешь ли ты представить себе, что SQL-выражения я до сих пор (я начал постигать VB.net и MySQL 3 недели назад) отличал лишь по ключевым словам типа SELECT, INSERT, ну еще Create, Delete и еще несколько... Да, одним из предположений по поводу твоего выражения, было, что это как-то надо отправить базе, но в запросе, или через параметр какого-то метода какого-н бейсиковского объекта - без понятия... + учитывая возможность, что ответ носит общий характер, а не точный синтаксис (комментов ведь никаких...). Тем не менее, среди прочих манипуляций, я попробовал механически заменить твоим выражением похожее место в моем коде и, как ни странно, обнаружил... что ничего не изменилось - твой вариант работает, но точно также как мой исходный. Я и сейчас не представляю, как ты подразумеваешь использование своего варианта. Ну, а саму проблему я решил (помогли). (Изложу для общего блага в отдельном посте ниже совершенно конкретное решение (вечером, сейчас с собой нет)).

Ответить

Страница: 1 |

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



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