Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Кодировка при записи в sql 
V
    Опции темы
Snik
Дата 18.12.2013, 08:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 174
Регистрация: 16.8.2006

Репутация: нет
Всего: нет



Добрый день!  На веб-форме разместил текстовый поля из которых в sql таблицу делаю запись. Все срабатывает вот только если руские буквы пишеш то в таблицу в sql в поля идут вопросительные знаки.
Как сделать чтобы русские слова тоже вносились правильно ?

Код

public partial class InsertSQL : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }

    protected void Insert_Click(object sender, EventArgs e)
    {
        string strcon = WebConfigurationManager.ConnectionStrings["Northwind"].ConnectionString;
        SqlConnection con = new SqlConnection(strcon);
        string sql = "InsertEmployee";//хранимая процедура SQL
        SqlCommand cmd = new SqlCommand(sql, con);
        cmd.CommandType = System.Data.CommandType.StoredProcedure;
        
        cmd.Parameters.Add(new SqlParameter("@TitleOfCourtesy",SqlDbType.NVarChar,25));
        cmd.Parameters["@TitleOfCourtesy"].Value = titleOfCourtesy.Text;
        cmd.Parameters.Add(new SqlParameter("@LastName", SqlDbType.NVarChar, 20));
        cmd.Parameters["@LastName"].Value = lastName.Text;
        cmd.Parameters.Add(new SqlParameter("@FirstName", SqlDbType.NVarChar, 10));
        cmd.Parameters["@FirstName"].Value = firstName.Text;

        cmd.Parameters.Add(new SqlParameter("@EmployeeID", SqlDbType.Int, 4));
        cmd.Parameters["@EmployeeID"].Direction = ParameterDirection.Output;

        using (con)
        {
            con.Open();

            int NumAff = cmd.ExecuteNonQuery();

            Label4.Text += String.Format("Вставленнно <b>{0}</b> записей <br/>",NumAff);
            int ID = (int)cmd.Parameters["@EmployeeID"].Value;
            Label4.Text += "New ID: " + ID.ToString();
        }
    }
}


Хранимая процедура sql

Код

ALTER PROCEDURE dbo.InsertEmployee
    @TitleOfCourtesy varchar(25),
    @LastName varchar(20),
    @FirstName varchar(10),
    @EmployeeID int OUTPUT

AS
    INSERT INTO Employees(TitleOfCourtesy,LastName,FirstName,HireDate)
    VALUES(@TitleOfCourtesy,@LastName,@FirstName,GETDATE());

SET @EmployeeID = @@IDENTITY

PM MAIL   Вверх
mixerfixer
Дата 18.12.2013, 08:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 24.2.2011

Репутация: нет
Всего: нет



Привет,

Начни с:
1. Типы данных LastName, FirstName в таблице должны быть nvarchar
2. При вставке в хранимке также используй nvarchar
PM   Вверх
Snik
Дата 18.12.2013, 09:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 174
Регистрация: 16.8.2006

Репутация: нет
Всего: нет



Спасибо! Действительно помогло! Странно но так в книге было. 
PM MAIL   Вверх
mixerfixer
Дата 18.12.2013, 09:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 24.2.2011

Репутация: нет
Всего: нет



Книги - они такие книги smile Я вот например сейчас на стадии когда даже в msdn / technet примерах нахожу вещи, которые авторам кажутся интуитивными, а при реализации не совпадают с написанным.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Любитель
Mymik
mr.DUDA

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка под ASP.NET | Следующая тема »


 




[ Время генерации скрипта: 0.0549 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.