• 締切済み

カウンター

ASP .NET Webサービスを作成しています。 定義した関数の出力ファイル名を現在のシステムの時間にしています。 ここで同時刻にメソッドコールがあった場合,ファイル名の語尾にカウンターをつけて同一ファイル名になることを防ごうとしております。何かいい方法がありましたらご教授ください。 DateTime dt = DateTime.Now; int counter=1; FileName = dt.ToString("hhmmss")+"-"+counter.ToString()+".xml"; たとえば10時10分10秒に10回コールがあった場合は counter.ToString()の部分を1~10にして10個のファイルを保存するというイメージです。

みんなの回答

  • Bonjin
  • ベストアンサー率43% (418/971)
回答No.1

>何かいい方法がありましたらご教授ください 何に対してのいい方法が知りたいのでしょうか? 質問文からは何に困っているのか読み取れないのですが・・・

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • ASP.NET 2.0(C#) Datetime型

    サーバー日付を取得して、日付の部分のみを書き換えたいのですが、方法が分かりません。 どなたか教えていただけないでしょうか・・ ASP.NET 2.0(C#)です。 実現したい内容は Datetime dt = DateTime.now;(例えば 20080101...) string day = "28"; // dtの日付部分にdayの"28"を入れたいわけです。 Datetime dt2 = (20080128...にしたいです) 色々調べてみたのですが、まだまだ経験が浅いせいか、良い方法を見つけることが出来ません。 よろしくお願いします(>_<)

  • ASP.NETでのアクセスカウンター導入方法

    どうぞよろしくお願いします。 現在、ASP.NETでホームページを作成しておりますが、 旧来、aspで使用していたアクセスカウンターが動きません。set代入ステートメントはサポートされてませんというエラーが出ます。 以下ソースなのですが、簡単な修正で使うことはできますか? また、aspのフリーアクセスカウンターはネット上にたくさんありますが、asp.NETのものがあるサイトがありましたら教えてください。 よろしくお願いします。 <% Set ObjFSO = Server.CreateObject("Scripting.FileSystemObject") filename = Server.MapPath("data/count.dat") 'カウンタファイルを読み取り専用で開きます。 Set ObjTS = ObjFSO.OpenTextFile(filename,1,True) 'カウンタ値を取得します。 If ObjTS.AtEndOfStream Then cnt = 0 Else cnt = ObjTS.ReadLine End If 'ファイルを閉じます。 ObjTS.Close 'カウンタ値を加算します。 cnt = cnt + 1 'カウンタファイルを上書きモードで開きます。 Set ObjTS = ObjFSO.OpenTextFile(filename,2,True) 'ファイルにカウンタ値を書き込みます。 ObjTS.WriteLine cnt 'ファイルを閉じます。 ObjTS.Close 'カウンタ値を表示します。 Response.Write "現在までのアクセス数:" & cnt 'オブジェクトを解放します。 Set ObjTS = Nothing Set ObjFSO = Nothing %>

  • TwitterAPIをつかったクライアントアプリを作ろうとしています。

    TwitterAPIをつかったクライアントアプリを作ろうとしています。 ここのサイトを参考に作成中です。 http://www.ipentec.com/document/document.aspx?page=csharp-use-twitter-api-oauth-winform 投稿(stuses/update)は処理できるのですが、ツイートの取得(statuses/show)でエラーになってしまいます。 private void bttnEntryPinCode_Click(object sender, EventArgs e) { OAuth.oAuthTwitter o = new OAuth.oAuthTwitter(); o.ConsumerKey = Properties.Settings.Default.ConsumerKey; o.ConsumerSecret = Properties.Settings.Default.ConsumerSecret; o.Token = Properties.Settings.Default.AccessToken; o.TokenSecret = Properties.Settings.Default.AccessTokenSecret; string postURL = ""; string postData = ""; postURL = API + "statuses/update.xml"; postData = "status=" +"ただいまの時間" + DateTime.Now.Hour.ToString() + ":" + DateTime.Now.Minute.ToString() + ":" + DateTime.Now.Second.ToString(); Console.WriteLine(o.oAuthWebRequest(OAuth.oAuthTwitter.Method.POST, postURL, postData)); //↑正常に処理 postURL = API + "statuses/show.xml"; postData = "id=13322284000"; Console.WriteLine(o.oAuthWebRequest(OAuth.oAuthTwitter.Method.GET, postURL, postData)); //404エラー } しかし、エラーになるURLをブラウザから直接入力すると正常に表示されます。 http://api.twitter.com/1/statuses/show.xml?id=13322284000 これ以外にも users/show.xml でも同様なエラーが出てしまいます。 なぜURLをブラウザにいれるとOKで、プログラムから呼ぶとエラーになるのか、 その原因がずっとわからずにいます。 原因をご存じでしたら、教えてください。 この部分で完全に止まってしまっています。

  • VC++ DateTimeを使った現在時刻取得

    VC++(CLI)で、現在時刻をstd::string文字列として、取得しようとしています。 時刻取得に、DateTime::ToStringを使うと、System::String でしか取得できません。 DateTime dt = DateTime::Now; String^ st= dt.ToString("HH:mm:ss");                  ↑この形式で、std::string文字列を取り出したい。 System::String から std::stringへの変換は、単純なキャストではなく変換処理が必要なので、他の方法を探しています。 他に思いつくのは、標準関数のtime.h localtimeから変換する方法くらいですが、他にstd::stringで必d家を取得する方法があれば教えてください。 環境: Win7 VC++2010 Express

  • C# 時刻 表示

    恐れ入ります。 C#で現在時刻の表示方法をお教えください。 通常、*時○分△秒という表示ですが、今回は秒の形式は△.△という形で秒の単位を小数点1桁まで表示したいのです(時間そのものの正確さを要求しているわけではありません。1秒以内に発生する動作の時間を区別したいためです)。 秒までならば、 DateTime.Now.ToString("hh:mm:ss")なる形で得られますので、これを真似して DateTime.Now.ToString("hh:mm:ss.s")としても表示上は確かに秒の小数点まで出力されますが、 Thread.Sleep(100) というメソッドをfor文の中に入れて、0.1秒間隔で表示させることによって確認しようとしましたが、 0.1秒きざみでの時刻表示は得られませんでした。 Thread.Sleep(100) は特に問題ないので、 DateTime.Now.ToString("hh:mm:ss.s") がうまく働いていないためと思われます。 .NETのライブラリも確認したのですが、探し方が悪いためか情報を得ることができませんでした。 上記、質問お分かりになる方はよろしくお願いします。

  • 【C#】作成したファイルに書き込みしたい

    開発環境はMicrosoft VisualC#2008です。 C#初心者です。よろしくお願いします。 現在、Form1とUserControl1を組み合わせてパズルゲームを作成中です。 Form1でボタンをクリックすると、クリックした日時を取得して、その日時をファイル名とするテキストファイルを作成することは出来ました。(例:20100115154717.txt) 今度は、そのファイルをUserControl1で開いて、書き込みをしていきたいのですが、エラーが出てしまい、この作成したファイルに書き込むことが出来ない状況です。 ※ちなみに、別のファイル(log_sample.txt)を指定したら書き込みは出来ました。 アドバイスよろしくお願いします。 <Form1.cs>一部抜粋 public string File_name { get { return this.file_name; } set { this.file_name = value; } } private void select_button_Click(object sender, EventArgs e) { //開いた時刻をファイル名に指定 DateTime dt = DateTime.Now; file_name = dt.ToString("yyyyMMddHHmmss"); //ログファイル作成・データ追加 StreamWriter sw = new StreamWriter(new FileStream"C:\\Documents and Settings\\My Documents\\log\\" + file_name + ".txt", FileMode.CreateNew)); } <UserControl1.cs>一部抜粋 //候補選択 private void label1_Click(object sender, EventArgs e) { Form1 f1 = this.Controls["Form1"] as Form1; DateTime dt = DateTime.Now; //ログ書き込み(日付、場所(ユーザーコントロール、ラベル名)、クリック(1)orダブルクリック(2)) StreamWriter sw = new StreamWriter(new FileStream("C:\\Documents and Settings\\My Documents\\log\\"+ f1.File_name +".txt", FileMode.Append)); sw.Write(dt.ToString()+","); sw.Write(this.Name +","); sw.Write("label1,"); sw.WriteLine("1"); sw.Close(); }

  • ファイル名の取得について

    よろしくお願いします、 環境はWindows 2000 SP4 Visual Studio VC8です openFileDialogクラスのFileNameメソッドで フルパスのファイル名を取得できますが、 ファイル名だけ取得したい場合はどのメソッドまたはクラスを使用したら出来るでしょうか?

  • C#でAccess2003データ更新時に発生するのエラーの内容がわからなくて困っています。

    お世話になります。 とある工場で使用されているデータベースの内容をC#で変更、更新を するプログラム改造を手がけています。データベースはAccess2003で 作成されていて、データベースの読込み、変更、更新はできるのですが、 一部のフィールド名に "DateTime" 、"String" と名前がつけられている箇所があり、この部分については"UPDATEステートメントの構文エラーです" となってしまします。他の部分については全く問題なく更新できています。例えば"Data01"など… プログラム概要は System.Data.OleDb.OleDbConnection cn; System.Data.OleDb.OleDbDataAdapter ap; System.Data.OleDb.OleDbCommandBuilder cb; DataSet ds; DataRow dr; DataTable dt; ---処理--- dt.Rows[n]["DateTime"] = DateTime.Now.ToString(); ap.Update(ds,"t_MINIDATATBL"); となっており、"DateTime" "String"フィールドのところだけアップデート実行のところで例外処理となってしまいます。 "DateTime"や"String"などのようにC#で使われているキーワードと同じ名前はまずいのでしょうか? しかし、データベースは客先の物なので勝手にフィールド名は変えられません。 一時的にフィールド名を変更して、処理終了時に元のフィールド名に戻すなどという手法などありますでしょうか? また、他の方法などもありましたらご教授願います。 環境: コンパイラ VisualStudio2008 C# データベース Microsoft Access2003 以上、よろしくお願い致します。

  • VB2010で時刻表記変換

    独学でVB2010Expressを使用しています。 あるCSVからADOを使用してデータを取得し、Accessに転載しているのですが、そのデータで日付と時間のフィールドがあるのですが各々以下のような表示(『2012/04/02』の場合→『20120402』、『12:32:50』の場合→『123250』)なので逆の変換をした上で『2012/04/02 12:32:50』とAccessに格納したいのですが『StringからDoubleに変換できません』的なエラーが出てしまします?(全部String型のつもりなんですが) 色々調べたのですが、うまくいきません。ご教授お願いします。 下記のコードはデータテーブル(DT)に変換前の『日』・『時刻』値をを格納したものを使用しています。 iはFOR NEXTでループさせています。 OleCmd.Parameters.Add("@DateTime", SqlDbType.Date).Value OleCmd.Parameters("@DateTime").Value = Date.Parse(CInt(DT.Rows(i)("日")).ToString("0000/00/00")) + " " + CInt(DT.Rows(i)("時刻")) \ 10000 + ":" + (CInt(DT.Rows(i)("時刻")) Mod 10000) \ 100.ToString("00") + ":" + (CInt(DT.Rows(i)("時刻")) Mod 10000) Mod 100.ToString("00")

  • sqlserverに現在時刻を格納したいのですが、『':'付近に不適切

    sqlserverに現在時刻を格納したいのですが、『':'付近に不適切な構文があります。』 と出てしまい、格納されません。言語はVC#2008、データ型はtime(7),datetimeなど試しているのですがうまくいかないのです。orz 以下、コードです。 SqlConnection cn = new SqlConnection(@"Data Source=.\SQLEXPRESS; AttachDbFilename=F:\C#\MyDatabase.mdf; Integrated Security=true; Connect Timeout=30; User Instance=true"); DateTime dt = DateTime.Now; TimeSpan ts = dt.TimeOfDay; // 更新 int id = int.Parse(textBox2.Text); SqlCommand cmd = new SqlCommand( "UPDATE Product SET 時刻 = " + ts + " WHERE ID ='" +id.ToString()+"'", cn); cn.Open(); cmd.ExecuteNonQuery(); cn.Close(); 原因判りますでしょうか・・・ よろしくお願いします。