Никакие миллисекунды не оценивают при чтении значений DateTime из базы данных SQL в C#

Я использовал OraDeveloper DevArt для соединения с базами данных Oracle. Это хорошо, потому что это включает Visual Studio почти таким же способом, поскольку базы данных SQL Server могут быть запрошены через Проводник Сервера. Это не свободно, но в нашем случае это прибыло свободное с покупкой OraDirect.Net, который является новым поставщиком, который позволяет Oracle работать с Платформой Объекта Microsoft.

11
задан Justin 22 September 2009 в 16:17
поделиться

3 ответа

Вы можете использовать команду dig / host для поиска записей MX, чтобы узнать, какой почтовый сервер обрабатывает почту для этого домена.

В Linux вы можете сделать это, например, следующим образом:

$ host google.com
google.com has address 74.125.127.100
google.com has address 74.125.67.100
google.com has address 74.125.45.100
google.com mail is handled by 10 google.com.s9a2.psmtp.com.
google.com mail is handled by 10 smtp2.google.com.
google.com mail is handled by 10 google.com.s9a1.psmtp.com.
google.com mail is handled by 100 google.com.s9b2.psmtp.com.
google.com mail is handled by 10 smtp1.google.com.
google.com mail is handled by 100 google.com.s9b1.psmtp.com.

(как видите, у Google довольно много почтовых серверов)

Если вы работаете с Windows, вы можете использовать nslookup (?) Или попробовать какой-нибудь веб-инструмент (например, тот ) для отображения той же информации.

Хотя это скажет вам только почтовый сервер для этого домена. Все остальные необходимые настройки не могут быть собраны таким образом. Возможно, вам придется спросить поставщика.

d посмотреть на проблему восходящего потока в базе данных - другими словами, ваш запрос возвращает что-то без миллисекунд. когда вы выполняете точно такой же запрос в Management Studio, видите ли вы миллисекунды?

Я предполагаю, что это проблема, связанная с запросом. Но я заинтригован, чтобы найти больше.

-1
ответ дан 3 December 2019 в 03:53
поделиться
6
ответ дан 3 December 2019 в 03:53
поделиться

Это потому, что строка формата по умолчанию для DateTime не включает миллисекунды.

Если вы используете настраиваемый формат , вы увидите значение миллисекунд.

] Пример:

  public class Program
  {
    private static string connString = @"Data Source=(local);Initial Catalog=DBTest;Integrated Security=SSPI;";
    public static void Main(string[] args)
    {
      using (SqlConnection conn = new SqlConnection(connString))
      {
        conn.Open();

        using (SqlCommand cmd = new SqlCommand("SELECT * FROM MilliSeconds"))
        {
          cmd.Connection = conn;

          SqlDataReader reader = cmd.ExecuteReader();
          while(reader.Read())
          {
            DateTime dt = (DateTime)reader["TimeCollected"];
            int milliSeconds = dt.Millisecond;
            Console.WriteLine(dt.ToString("yyyy-MM-dd HH:mm:ss.fff"));
          }
        }
      }

      Console.ReadLine();
    }
  }

Из базы данных со следующими значениями:

1   2009-09-22 18:11:12.057 
2   2009-09-22 18:11:28.587 
3   2009-09-22 18:11:29.820

Результатом приведенного выше кода является:

2009-09-22 18:11:12.057 
2009-09-22 18:11:28.587 
2009-09-22 18:11:29.820
5
ответ дан 3 December 2019 в 03:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: