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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Преобразование типов и SQL, Ошибка 
:(
    Опции темы
vinograd2008
Дата 3.4.2010, 13:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Здравствуйте подскажите пожалуйста почему в даннном коде программы возникает исключение.
Что означает эта ошибка и как её исправить?
The conversion of a char data type to a datetime data type resulted in an out-of-range datetime value

Код


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace Turfirma
{
    public partial class Form8 : Form
    {
        public Form8()
        {
            InitializeComponent();
        }

        private void Form8_Load(object sender, EventArgs e)
        {
            // TODO: This line of code loads data into the 'turfirmaDataSet.AllZakaziPoTuram' table. You can move, or remove it, as needed.
            this.zakaziTableAdapter.Fill(this.turfirmaDataSet.Zakazi);
        }

        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                string Data_nachala_oformleniya = Convert.ToString(this.maskedTextBox1.Text);
                string Data_okonchaniya_oformleniya = Convert.ToString(this.maskedTextBox2.Text);


                Form1.myConnection = new SqlConnection();
                Form1.myConnection.ConnectionString = "Data Source=(local);Initial Catalog=Turfirma;Integrated Security=true;User ID=" + Form1.login + ";Password=" + Form1.pass + ";";

                Form1.myConnection.Open();

                    SqlCommand myCommand = Form1.myConnection.CreateCommand();
                    myCommand.CommandText = "SELECT * FROM Zakazi WHERE Data_nachala_oformleniya = \'" + Data_nachala_oformleniya + "\'" + " AND Data_okonchaniya_oformleniya = \'" + Data_okonchaniya_oformleniya + "\'";
                    myCommand.Parameters.Add("@Data_nachala_oformleniya", SqlDbType.DateTime);
                    myCommand.Parameters["@Data_nachala_oformleniya"].Value = Data_nachala_oformleniya;
                    myCommand.Parameters.Add("@Data_okonchaniya_oformleniya", SqlDbType.DateTime);
                    myCommand.Parameters["@Data_okonchaniya_oformleniya"].Value = Data_okonchaniya_oformleniya;
                    myCommand.ExecuteNonQuery();
                    zakaziTableAdapter.Update(turfirmaDataSet);
                    this.zakaziTableAdapter.Fill(this.turfirmaDataSet.Zakazi);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
            finally
            {
                Form1.myConnection.Close();
            }
        }
    }
}


PM MAIL   Вверх
ДобренькийПапаша
Дата 3.4.2010, 21:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 14.1.2006
Где: г.Москва

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



Datetime в TSQL держит от 1 января 1753 года до 31 декабря 9999 года

Диапазон времени:
От 00:00:00 до 23:59:590,997

Перед выполнением запроса сделайте

Код

MessageBox.Show(date.ToString(), "DEBUG Date");


И посмотрите не выходит ли ваша дата за границы допустимых значений?


--------------------
Меня зовут Себастьян Парейра, торговец чёрным деревом.
PM MAIL   Вверх
jonie
Дата 4.4.2010, 16:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

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



ДобренькийПапаша, кстати, в mssql2008 появился datetime2, который совпадает по диапазонам с .net типом ...


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
A5uKa
Дата 5.4.2010, 10:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


TЋ♥s F1rȜ iƧ BurȠiƞg
***


Профиль
Группа: Awaiting Authorisation
Сообщений: 1928
Регистрация: 30.8.2008

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



Скорее всего ошибка формата данных.
В SQL это yyyy.MM.dd
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


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

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


 




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


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

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