C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

共通時間の取得


(過去ログ 6 を表示中)

[トピック内 20 記事 (1 - 20 表示)]  << 0 >>

■6747 / inTopicNo.1)  共通時間の取得
  
□投稿者/ えいしん 二等兵(12回)-(2006/09/23(Sat) 18:02:05)

分類:[VB.NET] 


分類:[VB.NET] 

現在 VB.NETの2003でWEBアプリケーションを作成しています

NOWを使用して時間の取得をしようとしているのですが
それぞれのPCで設定された時間に依存されることなく
共通の時間(サーバーAのもの)を使用したいと考えています。

このようなケースの場合どのようにして時間を取得すればよいのでしょうか?


0
引用返信 編集キー/
■6748 / inTopicNo.2)  Re[1]: 共通時間の取得
□投稿者/ はいこーん 少尉(121回)-(2006/09/23(Sat) 18:04:37)

分類:[VB.NET] 

No6747に返信(えいしんさんの記事)
> 現在 VB.NETの2003でWEBアプリケーションを作成しています
>
> NOWを使用して時間の取得をしようとしているのですが
> それぞれのPCで設定された時間に依存されることなく
> 共通の時間(サーバーAのもの)を使用したいと考えています。
>
> このようなケースの場合どのようにして時間を取得すればよいのでしょうか?

で、試してみた?

0
引用返信 編集キー/
■6749 / inTopicNo.3)  Re[2]: 共通時間の取得
□投稿者/ えいしん 二等兵(13回)-(2006/09/23(Sat) 18:17:26)

分類:[VB.NET] 

返信ありがとうございます

身近にある書物などを調べては見たのですが
どこにも書いてなく、何から手を付けたらいいのか
お手上げな状態です・・・、よろしければお力添えを願えないでしょうか

0
引用返信 編集キー/
■6750 / inTopicNo.4)  Re[3]: 共通時間の取得
□投稿者/ ぽぴ王子 伍長(54回)-(2006/09/23(Sat) 18:38:08)
ぽぴ王子 さんの Web サイト

分類:[VB.NET] 

No6749に返信(えいしんさんの記事)

> で、『試して』みた?

の返答で

> 身近にある書物などを『調べて』は見たのですが

は違うんじゃないですかね?

やれることをやりましょう。やったことは書きましょう。


0
引用返信 編集キー/
■6757 / inTopicNo.5)  Re[4]: 共通時間の取得
□投稿者/ えいしん 二等兵(14回)-(2006/09/24(Sun) 00:01:33)

分類:[VB.NET] 

情けないことに全く想像もつかないのですが・・・
何をどうしてよいのかわからず一歩すら踏み出せないんですが

試そうにも何を試せばよいのかわからない状態なのです
プログラムにかかわり始めてまだ間もないので
こういうときにどうすべきなのかが全く想像もつきません・・・

0
引用返信 編集キー/
■6761 / inTopicNo.6)  Re[5]: 共通時間の取得
□投稿者/ επιστημη 少尉(127回)-(2006/09/24(Sun) 02:33:59)
επιστημη さんの Web サイト

分類:[VB.NET] 

うーん、どーしましょー。

僕ならNTP使って(かなり)正確な標準時を貰ってくるでしょうね。


0
引用返信 編集キー/
■6763 / inTopicNo.7)  Re[6]: 共通時間の取得
□投稿者/ ガッ 二等兵(4回)-(2006/09/24(Sun) 02:41:12)

分類:[VB.NET] 

No6761に返信(επιστημηさんの記事)
> うーん、どーしましょー。
>
> 僕ならNTP使って(かなり)正確な標準時を貰ってくるでしょうね。
つ 「現在 VB.NETの2003でWEBアプリケーションを作成しています」
  が微妙に引っかかりましたたたた
…という罠が

質問者が何をどこまで、どのように悩んでいるのか分かりませんが、
一度頭に有るイメージを図に落としてみてはいかがでしょう?
(むしろこれ以外言えないような気もする)

0
引用返信 編集キー/
■6765 / inTopicNo.8)  Re[5]: 共通時間の取得
□投稿者/ ぽぴ王子 伍長(55回)-(2006/09/24(Sun) 02:59:06)
ぽぴ王子 さんの Web サイト

分類:[VB.NET] 

No6757に返信(えいしんさんの記事)

うーん、なにかうまくコミュニケーションできていない気がするのだけれど…

とりあえず試そうと思ったのだが、どうやって試せばよいのかわからないし手元
の書籍などを調べてみたが、試すやり方が書いていないので何から手をつけたら
いいかわからない、ということでいいでしょうか。

試すと言っても、クライアントとサーバで時刻を取得してみればいいだけだと思
います。それがわからないということになってしまうと、ちょっと難しいのでは
ないでしょうか。
掲示板で一から十まで手取り足取り教えることはできません。自分でいろいろ試
してみて、わからないところを質問してもらえれば答えることぐらいはできます
が、その試す行為を放棄されてしまうともうどうしようもないわけです。

> こういうときにどうすべきなのかが全く想像もつきません・・・
まずは勉強してください。あとは自分で考えてみてください。
本を読むのもいいし、インターネットでいろいろと検索するのもいいでしょう。
MSDNはかなり役に立つと思います。
その上で「どういったところがわからないのか」「何を質問すればいいのか」が
わかってくると思いますし、回答された内容も理解できるようになると思います。
そこから始めてみてください。


0
引用返信 編集キー/
■6795 / inTopicNo.9)  Re[1]: 共通時間の取得
□投稿者/ R・田中一郎 二等兵(14回)-(2006/09/25(Mon) 11:48:44)

分類:[VB.NET] 

No6747に返信(えいしんさんの記事)

> それぞれのPCで設定された時間に依存されることなく
> 共通の時間(サーバーAのもの)を使用したいと考えています。

サーバーAから時間を都度教えてもらうようにすれば良いのです。
方法はいろいろあります。
もう少しやりたいことを具体的にしてみてはいかがでしょうか?
(例えばサーバーAが10分遅れていたら、10分遅れている時刻を取得したいということですよね?)

他にも、サーバーA で全て時間に関する処理を行わせて、クライアント側では指令を出すだけって方法もあります。

0
引用返信 編集キー/
■6798 / inTopicNo.10)  Re[2]: 共通時間の取得
□投稿者/ Moo 一等兵(37回)-(2006/09/25(Mon) 15:25:59)
Moo さんの Web サイト

分類:[VB.NET] 

Webアプリの質問だと見抜く(?)のに5秒かかりました。Mooです。

・各WebサーバはNTPサーバと通信して時計を合わせる
・ロードバランサを使用する(サーバが複数台の場合)

という運用にはならないのでしょうか。

スケールアウトして運用するとして
HTTPに対するログを参照するとき
時計が合っていないと話にならないと思うのですが。

>それぞれのPCで設定された時間
ん?クライアント?


0
引用返信 編集キー/
■6827 / inTopicNo.11)  Re[3]: 共通時間の取得
□投稿者/ えいしん 二等兵(16回)-(2006/09/26(Tue) 07:38:47)

分類:[VB.NET] 

2006/09/26(Tue) 09:09:11 編集(投稿者)

都合でPCを使用できない間にずいぶんと返信をいただきありがとうございます。

現在  Dim cn As New SqlConnection("Server=TEST;Database=AAA;UserID=A;PassWord=B")でサーバーを指定したのちに


NOWで時間を取得しているのですが、
これはサーバーの時間が取得できているのでしょうか?


>R・田中一郎様
そのとおりです
現在、会議室予約システムの開発をしているのですが、予約ということであり
どのPCからアクセスしても共通の時間が必要であるということで
共通時間を使用しようという結論に達しました。



0
引用返信 編集キー/
■6828 / inTopicNo.12)  Re[4]: 共通時間の取得
□投稿者/ επιστημη 中尉(145回)-(2006/09/26(Tue) 09:15:37)

分類:[VB.NET] 

No6827に返信(えいしんさんの記事)
> 現在  Dim cn As New SqlConnection("Server=TEST;Database=AAA;UserID=A;PassWord=B")でサーバーを指定したのちに
>
> NOWで時間を取得しているのですが、
> これはサーバーの時間が取得できているのでしょうか?

クライアント側の時計をわざと狂わせてからやってみれば一発でわかるやん。


0
引用返信 編集キー/
■6838 / inTopicNo.13)  Re[4]: 共通時間の取得
□投稿者/ eternia 一等兵(26回)-(2006/09/26(Tue) 10:45:44)

分類:[VB.NET] 

No6827に返信(えいしんさんの記事)
> 2006/09/26(Tue) 09:09:11 編集(投稿者)
>
> 都合でPCを使用できない間にずいぶんと返信をいただきありがとうございます。
>
> 現在  Dim cn As New SqlConnection("Server=TEST;Database=AAA;UserID=A;PassWord=B")でサーバーを指定したのちに
>
>
> NOWで時間を取得しているのですが、
> これはサーバーの時間が取得できているのでしょうか?
>

DBサーバの時間が取得したいのですか?
SqlConnectionとNOWは全然関係ない気がするのですが……

指定したサーバの時間が取りたいのであればSQLで持ってくればいいかと思います。
SQLServerならgetdate()とか。



0
引用返信 編集キー/
■6841 / inTopicNo.14)  Re[5]: 共通時間の取得
□投稿者/ えいしん 二等兵(17回)-(2006/09/26(Tue) 11:41:42)

分類:[VB.NET] 

そうです。値を格納しているDBサーバーの登録日時という項目に
現在の日時(Now)のイメージで日付を格納したいのですが
うまくいかずに悩んでいたところです。


getdateを持ってくるには
"Server=TEST;today = getdate();"

といった感じになるのでしょうか?


0
引用返信 編集キー/
■6842 / inTopicNo.15)  Re[6]: 共通時間の取得
□投稿者/ Moo 一等兵(38回)-(2006/09/26(Tue) 11:49:48)
Moo さんの Web サイト

分類:[VB.NET] 

> getdateを持ってくるには
> "Server=TEST;today = getdate();"
>
> といった感じになるのでしょうか?

SQL Serverなら
SELECT getdate() AS [NOW];
で取得できると思います。

0
引用返信 編集キー/
■6888 / inTopicNo.16)  Re[7]: 共通時間の取得
□投稿者/ えいしん 二等兵(18回)-(2006/09/27(Wed) 16:44:03)

分類:[VB.NET] 

苦心の末ストアドプロシージャで何とか
サーバーの時間を取得するまではいきました

CREATE PROCEDURE 共通時間INC AS
DECLARE @X DATETIME
BEGIN TRANSACTION
BEGIN
SELECT @X=CONVERT(DATETIME,CONVERT(CHAR,GETDATE(),120),120)
END
SELECT @X
COMMIT TRANSACTION
GO

というものを作成したのですが、時間を取得し セットするというところに
たどり着きません。 何が足りないのでしょうか?

0
引用返信 編集キー/
■6889 / inTopicNo.17)  Re[8]: 共通時間の取得
□投稿者/ ぽぴ王子 伍長(57回)-(2006/09/27(Wed) 17:51:52)
ぽぴ王子 さんの Web サイト

分類:[VB.NET] 

No6888に返信(えいしんさんの記事)

もう少し落ち着いて考えてみるといろいろ見えてくるかもしれませんね。

最初の質問ではDBサーバという話は *一切* 出てこなかったので、私は(たぶん
他の方も)WEBサーバかアプリケーションサーバの時刻を取得する、という考え
なのだと思っていました。
No6827で初めてDBの話が出てきます)
そこからgetdate()を使えばよいのでは?という流れになっていますよね。

No6842のMooさんの発言で、とりあえずDBサーバから時刻を取得する方法は提示
されているわけですが、それがNo6888でストアドプロシージャに *なぜか* 飛躍
しています。

このままずるずると行ってしまうと、また迷走してしまう可能性が高いです。

まず、えいしんさんがなすべきことは、落ち着いて仕様あるいは自分がやりたい
ことを把握することです。技術的な問題はそれから考えても遅くはありません
(技術的に無理なことを仕様としてあげられている場合もありますが、それはそ
の時に仕様を見直せば済むことでしょう)。
自分はいったい何をしたいのか、どういったことをやらなくてはいけないのか、
を明確にして、それを落ち着いて(何度も言っていますが)自分で理解すること
です。そうしなければ、我々としてもアドバイスできません。
No6765で私が書いたように、まずは自分で「考える」ことです。その上でわから
ない部分も出てくるでしょうから、それに関してはできるだけアドバイスするこ
とは可能です。我々は提示された情報の中から可能であろう案をお答えできます
が、逆に言えばそれ以上のことはえいしんさん自身で考える必要があります。

しつこいようですが、考えをまとめてみてください。


0
引用返信 編集キー/
■6893 / inTopicNo.18)  Re[9]: 共通時間の取得
□投稿者/ eternia 一等兵(27回)-(2006/09/27(Wed) 19:32:44)

分類:[VB.NET] 

ストアドを作る必要は全く無かったのですが^^;

プログラムからのDB接続方法は理解されてますでしょうか?
下記が参考になるかと思います。
http://jeanne.wankuma.com/tips/sqlserver/


0
引用返信 編集キー/
■6912 / inTopicNo.19)  Re[9]: 共通時間の取得
□投稿者/ えいしん 二等兵(19回)-(2006/09/28(Thu) 09:47:55)

分類:[VB.NET] 

2006/09/28(Thu) 12:05:17 編集(投稿者)

すみませんでした。ストアドプロシージャを使用しなければならなくなったのは
仕様変更(上からの指示)の為です。二転三転したことをお詫び申し上げます。

整理いたしますと、目的は
・現在接続しているサーバーから時間を取得したい
・その取得した値は「登録日時」としてDBに書き込む為に使用したい。

といったところでしょうか、現在は

CREATE PROCEDURE 共通時間INC
@X DATETIME output
AS
BEGIN TRANSACTION
BEGIN
SELECT @X=CONVERT(DATETIME,CONVERT(CHAR,GETDATE(),120),120)
END
SELECT @X
COMMIT TRANSACTION
GO


というストアドプロシージャを作成したのですが値が取得できていない状況です。

Dim cn As New SqlConnection
("Server= SQLTEST1;Database=オンライン予約;User ID=AA;PassWord=BB")

Dim cmd2 As New SqlCommand("共通時間INC", cn)
cmd2.CommandType = CommandType.StoredProcedure

Dim ct As SqlParameter = cmd2.Parameters.Add("@X", SqlDbType.DateTime)
ct.Direction = ParameterDirection.Output

というプログラムなのですが、最終的に日付の入ってほしい
ct.valueの項目がNothingになってしまいます。
よろしくお願いいたします。

0
引用返信 編集キー/
■6944 / inTopicNo.20)  Re[10]: 共通時間の取得
 
□投稿者/ 黒龍 二等兵(9回)-(2006/09/28(Thu) 18:08:51)

分類:[VB.NET] 

パフォーマンスなども含め更新日時という意味ではクライアントに渡さないほうがいいでしょうね。更新日時以外をパラメータにして登録時にクエリ内で設定するほうがよいと思われます。


0
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -