Как установить формат даты при подключении к SQL?C#

Место общения программистов C#
Ответить
Anonymous
 Как установить формат даты при подключении к SQL?

Сообщение Anonymous »

В Microsoft SQL Server Management Studio после вызова хранимой процедуры я вижу, что время в таблице имеет формат 2011-05-20 19:56:09.

Однако в моей программе на C# после использования OdbcConnection для получения записи из таблицы я обнаружил, что время имеет формат 05/20 /2011 19:56:09. Поэтому я вручную конвертирую формат ММ/ДД/ГГГГ чч:мм:сс в ГГГГ-ММ-ДД чч:мм:сс (Собственно, как мне проверить формат ч или ЧЧ, поскольку показанный час - 19?).

Мой вопрос: почему и в какой части соединения формат изменяется? Как мне установить инвариантную культуру в моем соединении?

cmd = new OdbcCommand("{?=CALL stored_procedure_in_SQL(?,?)}", m_SqlConn);
cmd.Parameters.Add(new OdbcParameter("RETURN_VALUE", OdbcType.Int, 4,
ParameterDirection.ReturnValue, false, 0, 0, null,
DataRowVersion.Default, null));

//@parameter1
cmd.Parameters.Add("@parameter1", OdbcType.VarChar, 50).Value = value1;

//@parameter2
cmd.Parameters.Add("@parameter2", OdbcType.Int)=value2;

object objTime=ds.Tables[0].Rows[0][0]
Console.WriteLine(objTime.Tostring()) //05/20/2011 19:56:09
DateTime dateTime = Cdate(objTime, "MM/dd/yyyy h:mm:ss tt");
//2011-05-20 19:56:09
Console.WriteLine(dateTime.ToString("yyyy-MM-dd HH:mm:ss"));

//Function Cdate
static public DateTime Cdate(object val, string format)
{
// check if the object is a date time alread
string str;
if(val is DateTime)
{
// Since val is already a dateTime,Return here
return (DateTime)val;
}

// convert via string
if(val != DBNull.Value)
{
str = val.ToString().Trim();
}
else
{
str = "";
}

if(str == "")
{
return DateTime.MinValue;
}
else
{
return DateTime.ParseExact(str, format,
CultureInfo.InvariantCulture);
}
}


Подробнее здесь: https://stackoverflow.com/questions/618 ... ion-to-sql
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»