2016-10-02 15 views
1

Я использовал дату в моем проекте. Мой проект клиентский сервер и разработан с использованием C#.C# client: как получить текущее время от SQL Server?

Теперь я хочу, чтобы получить время дату клиентов из SQL Server на сервере, что, когда время клиента даты системы был в беде, Application получить текущую дату время от сервера.

К примеру: таймер, что каждый час, чтобы запустить SQL сервер следующую команду:

SELECT CURRENT_TIMESTAMP 

Edit: C# приложение получить время даты с SQL Server и каждый час один раз, ваше обновление время дата

ответ

0
SELECT SYSDATETIME(); 

Проверить документы для более: https://msdn.microsoft.com/pl-pl/library/ms188383(v=sql.110).aspx

Хотя было бы проще просто использовать DATETIME.NOW в C# вместо того, чтобы выбирать это значение из базы данных, но это зависит от вашей настройки.

+0

извините, я не знаю, как этот код (SELECT SYSDATETIME()) использовали в C# –

0

Вы должны

  • открыть подключение к SQL серверу

  • выполнить выберите команду, используя эту связь

  • получить правильное значение из возвращаемых данных

C#

qlConnection sqlConnection1 = new SqlConnection("Your Connection String"); 
SqlCommand cmd = new SqlCommand(); 
SqlDataReader reader; 

cmd.CommandText = "SELECT GETDATE() as CurrentTime"; 
cmd.CommandType = CommandType.Text; 
cmd.Connection = sqlConnection1; 

sqlConnection1.Open(); 

reader = cmd.ExecuteReader(); 
// Data is accessible through the DataReader object here. 
+0

Это код, который правильно: вар ц = dc.SystemSettings.Select (с => System.Data.Objects.SqlClient . .SqlFunctions.CurrentTimestamp() Значение) .Первый(); –

+2

ExecuteScalar здесь будет лучше. @MohammadRezaHasanzadeh - ответ должен работать. – Paparazzi

+0

True, ExecuteScalar возвращает одно значение, лучше ли это. Вы можете сделать sqldate = (DateTime = cmd.ExecuteScalar(); – user5328504