アクセスカウンタ

プロフィール

ブログ名
Corporate Edition ANNEX
ブログ紹介
help RSS

ASP.NET & AJAX アプリケーションのリリース

2011/02/02 23:28
・ASP.NET Web アプリケーション
ASP.NET Web アプリケーションを運用サーバーに展開するにあたっては、
1.認証なし(anonymous)のWebサイトにする場合は、Web.config の
  <authentication mode="Windows" />
  を、コメントアウトする。
2.Visual Studioのメニューバーの「Webサイト」〜「Webサイトのコピー」から、
  ローカル開発環境のファイルをすべて選択して、対象の運用サーバーにコピーする。
画像


・ASP.NET AJAXアプリケーション
ASP.NET AJAXアプリケーションを運用サーバーに展開後、
運用サーバーのIISマネージャから、展開したディレクトリのプロパティを開き、
「仮想デレクトリ」タブの「アプリケーションの設定」の「アプリケーション名」の
「作成」ボタンをクリックして、展開したディレクトリをアプリケーション名に設定する。
画像
記事へブログ気持玉 / トラックバック / コメント


パラメータ付リンクをRepeaterコントロールで配置する【ASP.NET】

2011/01/25 23:43
ASP.NETで、パラメータ付リンクをRepeaterコントロールで配置する

1.デザイン画面で、Repeaterコントロールを配置し、Repeaterタスクからデータソースを作成する。
画像

2.ソース画面に切り替えて、
  @ Repeaterタグをテーブルタグで囲む
  A Repeaterタグの中に、ItemTemplateタグの中に、TR・TDタグを配置し、パラメータリンクを埋め込む
画像


※ データソースからのデータの取り出しは、
  <%# DataBinder.Eval(Container.DataItem, "フィールド名")%>

※ Repeaterをフォーマットするには、TableタグやItemTemplate 以外に
  テーブルのヘッダー・・・<HeaderTemplate>
  テーブルのフッター・・・<FooterTemplate>
  テーブル行の偶数行の処理・・・<AlternatingItemTemplate>
記事へブログ気持玉 / トラックバック / コメント


ASP.NETのフレームページでJavaScriptを使ったRedirectもどき

2011/01/23 10:30
ASP.NETのResponse.RedirectやServer.Transferでは、フレームページ内で、ターゲットフレームの指定ができない。
以前に、ターゲットフレームをフォームタグで指定する方法を使ったが、今回、JavaScriptを使って、Redirectもどきのページ遷移をする。

frame.htm
---------------------------------
<html>
<frameset cols="20%,*">
 <frame name="L" src="left.aspx" scrolling="auto">
 <frame name="R" src="right.aspx" scrolling="auto">
 <noframes>
 <body>
 <p>このページにはフレームが使用されていますが、お使いのブラウザではサポートされていません</p>
 </body>
 </noframes>
</frameset>
</html>

画像

left.aspx
---------------------------------
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
  Jredirect(TextBox1.Text)
End Sub

Private Sub Jredirect(ByVal strText As String)
  Dim strScript As String
  strScript = "<script language=javascript>"
  strScript &= "parent.R.location.href='right.aspx?strData=" & strText & "';"
  strScript &= "</script>"
  Response.Write(strScript)
End Sub

right.aspx
---------------------------------
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
  TextBox2.Text = Request.QueryString("strData")
End Sub

画像


記事へブログ気持玉 / トラックバック / コメント


Oracleの起動を手動にする

2011/01/22 10:23
Oracleサービスを手動起動にするためには、
以下OracleXEを例にすると、

スタート → 設定 → コントロールパネル → 管理ツール → コンピュータの管理 → サービスとアプリケーション → サービス
で,次の2つのサービスのプロパティの「スタートアップの種類」を 手動 にします。

OracleXETNSListener
OracleServiceXE

Oracleを使いたいときは、
スタート → プログラム → Oracle Database 10g Express Edition → データベースの起動
で,起動します。
 
記事へブログ気持玉 / トラックバック / コメント


ASP.NETでフレームページResponse.Redirect・Server.Transfer

2011/01/14 23:48
ASP.NETのResponse.RedirectやServer.Transferでは、フレームページで、ターゲットフレームの指定ができない。
しかし、送信元フレームページのformタグに、taget属性に送信先フレームページを設定することで、ターゲットフレームを指定することができる。

フレームページ:frame.htm
画像

画像



送信元フレームページ:left.aspx
送信元フレームページのformタグに、taget属性に送信先フレームページを設定
画像


送信元フレームページ:left.aspx.vb
・Response.Redirect
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click

  Response.Redirect("Right.aspx?strData=" & TextBox1.Text)

End Sub


・Server.Transfer
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click

  Server.Transfer("right.aspx")

End Sub


送信先フレームページ:right.aspx
画像

送信元フレームページ:right.aspx.vb
・Response.Redirect
Request.QueryStringで受け取る

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

  TextBox2.Text = Request.QueryString("strData")

End Sub


・Server.Transfer
Page.PreviousPage.FindControlで受け取る

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
  If Not IsNothing(Page.PreviousPage) Then
    Dim txt As TextBox = Page.PreviousPage.FindControl("TextBox1")
    Me.TextBox2.Text = txt.Text
  End If


画像

記事へブログ気持玉 / トラックバック / コメント


ORACLE 抽出データ (ODP.NET) を StringBuilderで CSV 保存

2011/01/09 11:24
 以前、「ORACLE の 抽出データ (ODP.NET) を CSV 保存」では、「+=算子」によりCSV を作成したが、今回は StringBuilder クラスを使って、CSV を作成。
 
 複数の文字列を1つの文字列に連結する「+=算子」・「&=算子」よりも、System.Text.StringBuilderクラスを使うことにより、文字列の置換や追加などの処理をより高速に行うことができる。
また、Appendメソッドは文字列追加後の自分のインスタンスを返すので、1行でも記述できる。
 
 strStringBuilder.Append("1234");
 strStringBuilder.Append("56");
 strStringBuilder.Append("789");
  ↓
 strStringBuilder.Append("1234").Append("56").Append("789")

 尚、StringBuilderクラスのインスタンスから文字列を取り出すには、ToStringメソッドを使う。

 strStringBuilder.ToString
  
default.aspx.vb
------------------------------------------------------------------------

Imports System
Imports System.Data
Imports Oracle.DataAccess.Client
Imports System.IO

Partial Class _Default
  Inherits System.Web.UI.Page

  Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
 
    'データベースへの接続を開く
    Dim conn As New OracleConnection
    conn.ConnectionString = "User Id=hr;Password=xe;Data Source=xe"
    conn.Open()
 
    'データの取得
    Dim cmd As New OracleCommand
    cmd.Connection = conn
    cmd.CommandText = "select * from employees"
 
    'OracleDataReaderの実行
    Dim dr As OracleDataReader = cmd.ExecuteReader
 
    Dim Enc As Encoding = Encoding.GetEncoding("Shift_JIS")
    ' (ファイル名に日付を付加する場合)
    ' Dim strNow As String = Now().ToString("yyyyMMdd_hhmmss")
    ;' Dim writer As New StreamWriter("C:\employees" + strNow + ".csv", False, Enc)
    'StreamWriterクラスを使って、csvファイルを作成
    Dim writer As New StreamWriter("C:\employees.csv", False, Enc)
 
    'StringBuilderオブジェクトを初期化
    Dim Buffer As New StringBuilder
    Buffer.Length = 0
 
    '-- 先頭行をカラム名 -- start
    For i As Integer = 0 To dr.FieldCount - 1
      Buffer.Append("""").Append(dr.GetName(i).ToString).Append(""",")
    Next

    '行末の[,]を削除
    Buffer.Remove(Buffer.Length - 1, 1)
    'ファイルに1行書込む
    writer.WriteLine(Buffer.ToString)
    '-- 先頭行をカラム名 -- end
 
    'データ行 -- start
    While (dr.Read())
      Buffer.Length = 0
      For i As Integer = 0 To dr.FieldCount - 1
        'oracle number型の場合は、""で囲まない
        If dr.GetProviderSpecificFieldType(i).ToString = "Oracle.DataAccess.Types.OracleDecimal" Then
         Buffer.Append(dr(i).ToString).Append(",")
        Else
         Buffer.Append("""").Append(dr(i).ToString).Append(""",")
        End If
      Next
      '行末の[,]を削除
      Buffer.Remove(Buffer.Length - 1, 1)
      'ファイルに1行書込む
      writer.WriteLine(Buffer.ToString)
 
    End While
 
    'StreamWriterを閉じる
    writer.Close()
 
    'データベースへの接続を閉じる
    dr.Close()
    dr.Dispose()
    cmd.Dispose()
    conn.Close()
    conn.Dispose()
 
  End Sub
 
End Class

------------------------------------------------------------------------
画像
記事へブログ気持玉 / トラックバック / コメント


ASP.NETで、ORACLE の抽出データ (ODP.NET) を CSVダウンロード

2011/01/04 19:01
ODP.NET による ORACLE 抽出データ を 、CSV化してクライアントにダウンロードする。
画像

default.aspx.vb

Imports System
Imports System.Data
Imports Oracle.DataAccess.Client

Partial Class _Default
  Inherits System.Web.UI.Page

  Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click

    Response.ContentEncoding = Encoding.GetEncoding("Shift_JIS")
    Response.Charset = "shift_jis"

    ' ダウンロードファイルのデフォルトの名前を指定
    Dim strFile As String = "employees.csv"
    ' ファイルダウンロードダイアログを表示する
    Response.ContentType = "application/octet-stream"
    Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(strFile))

    'データベースへの接続を開く
    Dim conn As New OracleConnection
    conn.ConnectionString = "User Id=hr;Password=xe;Data Source=xe"
    conn.Open()

    'データの取得
    Dim cmd As New OracleCommand
    cmd.Connection = conn
    cmd.CommandText = "select * from employees"

    'OracleDataReaderの実行
    Dim dr As OracleDataReader = cmd.ExecuteReader

    'StringBuilderオブジェクトを初期化
    Dim Buffer As New StringBuilder
    Buffer.Length = 0

    '-- 先頭行をカラム名 -- start
    For i As Integer = 0 To dr.FieldCount - 1
      Buffer.Append("""").Append(dr.GetName(i).ToString).Append(""",")
    Next

    '行末の[,]を削除
    Buffer.Remove(Buffer.Length - 1, 1)

    '改行コード
    Buffer.Append(ControlChars.Cr).Append(ControlChars.Lf)

     '1行出力 - 先頭行のカラム名
    Response.BinaryWrite(Encoding.GetEncoding("Shift-JIS").GetBytes(Buffer.ToString))
    '-- 先頭行をカラム名 -- end

    'データ行 -- start
    While (dr.Read())
      Buffer.Length = 0
      For i As Integer = 0 To dr.FieldCount - 1
        'oracle number型の場合は、""で囲まない
        If dr.GetProviderSpecificFieldType(i).ToString = "Oracle.DataAccess.Types.OracleDecimal" Then
          Buffer.Append(dr(i).ToString).Append(",")
        Else
          Buffer.Append("""").Append(dr(i).ToString).Append(""",")
        End If
      Next
      '行末の[,]を削除
      Buffer.Remove(Buffer.Length - 1, 1)
       '改行コード
      Buffer.Append(ControlChars.Cr).Append(ControlChars.Lf)
      '1行出力
      Response.BinaryWrite(Encoding.GetEncoding("Shift-JIS").GetBytes(Buffer.ToString))

    End While

    Response.Flush()
    Response.End()

    'データベースへの接続を閉じる
    dr.Close()
    dr.Dispose()
    cmd.Dispose()
    conn.Close()
    conn.Dispose()

  End Sub

End Class


画像
記事へブログ気持玉 / トラックバック / コメント


ORACLE の 抽出データ (ODP.NET) を CSV 保存

2011/01/01 13:18
ODP.NET による ORACLE 抽出データ を 、StreamWriterクラスを使って、CSV 保存する。

追記
今回は、「+=算子」を使ってCSVを作成しているが、StringBuilderクラスを使ったCSV作成は、こちら

 
default.aspx.vb
-------------------------------------------------------

Imports System
Imports System.Data
Imports Oracle.DataAccess.Client
Imports System.IO

Partial Class _Default
 Inherits System.Web.UI.Page

 Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click

  'データベースへの接続を開く
  Dim conn As New OracleConnection
  conn.ConnectionString = "User Id=hr;Password=xe;Data Source=xe"
  conn.Open()
 
  'データの取得
  Dim cmd As New OracleCommand
  cmd.Connection = conn
  cmd.CommandText = "select * from employees"
 
  'OracleDataReaderの実行
   Dim dr As OracleDataReader = cmd.ExecuteReader
 
    '  (ファイル名に日付を付加する場合)
    '  Dim strNow As String = Now().ToString("yyyyMMdd_hhmmss")
    '  Dim writer As New StreamWriter("C:\employees" + strNow + ".csv", False, Enc)

    'StreamWriterクラスを使って、csvファイルを作成
   Dim Enc As Encoding = Encoding.GetEncoding("Shift_JIS")
   Dim writer As New StreamWriter("C:\employees.csv", False, Enc)
 
   '1行変数
   Dim strRec As String
   strRec = ""
 
   '-- 先頭行をカラム名 -- start
   For i As Integer = 0 To dr.FieldCount - 1
    strRec += """" + dr.GetName(i).ToString + ""","
   Next
 
   '行末の[,]を削除
   strRec = strRec.Remove(strRec.Length - 1, 1)
   'ファイルに1行書込む
   writer.WriteLine(strRec)
   '-- 先頭行をカラム名 -- end
 
   'データ行 -- start
   While (dr.Read())
    strRec = ""
     For i As Integer = 0 To dr.FieldCount - 1
      'oracle number型の場合は、""で囲まない
      If dr.GetProviderSpecificFieldType(i).ToString = "Oracle.DataAccess.Types.OracleDecimal" Then
       strRec += dr(i).ToString + ","
       Else
        strRec += """" + dr(i).ToString + ""","
       End If
      Next
     '行末の[,]を削除
     strRec = strRec.Remove(strRec.Length - 1, 1)
     'ファイルに1行書込む
     writer.WriteLine(strRec)
 
     '  参考 フィールド毎にファイルに書き込む
     '  writer.Write(dr(i))
     '  writer.Write(ControlChars.Cr + ControlChars.Lf)

 
     End While
 
    'StreamWriterを閉じる
    writer.Close()
 
   'データベースへの接続を閉じる
   dr.Close()
   dr.Dispose()
   cmd.Dispose()
   conn.Close()
   conn.Dispose()
 
  End Sub
 
 End Class

------------------------------------------------------- 

画像


==============================
・StreamWriter
テキストファイルを開く、もしくは作成する
StreamWriterクラス(System.IO名前空間)のコンストラクタ
 第1パラメータ
  ファイルのパス名を指定
 第2パラメータ
  trueかfalse
   trueの場合、既存のテキスト内容がすべて残されたまま、その末尾にテキスト内容が追記される。
   falseの場合、いったん既存の内容が完全に削除されてから、新たにテキスト内容が書き込まれる。
 第3パラメータ
  文字エンコードとしてEncodingクラス(System.Text名前空間)のオブジェクトを指定
なお、テキスト・ファイルが存在しない場合は、自動的にファイルが作成される。

例.Dim writer As New StreamWriter("C:\Test.txt", True, sjisEnc)

StreamWriterオブジェクトのWriteLineとWriteメソッドの違いは、WriteLineメソッドは出力した文字列の最後に改行(=行終端記号( 既定では「\r\n」)を挿入。
==============================

・参考
書式指定項目の記述例

指定する書式: 幅指定で右詰め
書式指定項目の記述: String.Format("{0, 4}", num)
出力例: “   1”
 
指定する書式: 幅指定で左詰め
書式指定項目の記述: String.Format("{0, -4}", num)
出力例: “1   ”
 
指定する書式: 0埋め
書式指定項目の記述: String.Format("{0:D4}", num) または String.Format("{0:0000}", num)
出力例:  “0001”
 
記事へブログ気持玉 / トラックバック / コメント


ASP.NET2.0 指定ディレクトリ(フォルダ内)のファイル一覧の取得

2010/12/29 15:49
指定ディレクトリ(フォルダ内)のファイル一覧を取得して、ListBox に表示する

Default.aspx.vb
-----------------------------------------------------

Partial Class _Default
  Inherits System.Web.UI.Page

  Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

    Dim strPath As String = "c:\file"
    Dim strFiles As String() = System.IO.Directory.GetFiles(strPath)

    '「path付きファイル名」の場合
    'For Each strFile In strFiles
    'ListBox1.Items.Add(strFile)
    'Next

    '「pathなしファイル名」の場合

    For Each strFile As String In strFiles
    ListBox1.Items.Add(System.IO.Path.GetFileName(strFile))
    Next

  End Sub
End Class

-----------------------------------------------------
 
記事へブログ気持玉 / トラックバック / コメント


ASP.NET2.0 CSVファイルをTextFieldParserで読み込みGridviewに表示

2010/12/28 22:30
前回、HTMLテーブルタグで表示した。
今回は、ページロード時にTextFieldParserを使用して、CSVファイルを読み込み、Gridviewに表示する。

Default.aspx.vb
---------------------------------------------------------------------------------

Imports Microsoft.VisualBasic.FileIO
Imports System.Data

Partial Class _Default
  Inherits System.Web.UI.Page

  Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
   Dim DT As DataTable
   DT = New DataTable

   Using TextParser As New Microsoft.VisualBasic.FileIO.TextFieldParser("c:\file\EMPLOYEES.csv",
System.Text.Encoding.GetEncoding("shift_jis"))

     Dim i As Integer
     Dim Dr As DataRow
     Dim currentRow As String()
     Dim cols As Integer '項目数(column)
     Dim hasheader As Boolean = True '1行目がヘッダー 
     'ファイルがCSV区切り
     TextParser.TextFieldType = Microsoft.VisualBasic.FileIO.FieldType.Delimited
     '区切り文字
     TextParser.Delimiters = New String() {","}
 
     '1行目を読み込む(文字列の配列として返して、カーソルを次の行に進める)
     currentRow = TextParser.ReadFields()
 
     '----- 1行目がヘッダーの場合 -----
     'データテーブルのcolumnとする
     If hasheader = True Then
       For Each currentField As String In currentRow
         DT.Columns.Add(New DataColumn(currentField, GetType(String)))
     Next
     Else
       '------ 1行目がヘッダーではない場合 -----
        カラム数を取得' cols = currentRow.Length
       'データテーブルのダミーのcolumn
       For i = 1 To cols
         DT.Columns.Add(New DataColumn("項目" + i.ToString, GetType(String)))
       Next
 
       'データテーブルに、CSV1行目を追加 i = 0
       Dr = DT.NewRow
       For Each currentField As String In currentRow
         Dr(i) = currentField
         i += 1
       Next
       DT.Rows.Add(Dr)
     End If
 
'2行目以降ファイルの終端までループ
      While Not TextParser.EndOfData
 
     '1行を読み込み、それを文字列の配列として返して、カーソルを次の行に進める。
     currentRow = TextParser.ReadFields()
       i = 0
     Dr = DT.NewRow
     For Each currentField As String In currentRow
       Dr(i) = currentField
         i += 1
       Next
       DT.Rows.Add(Dr)
     End While
   End Using
 
   'GridViewにバインド
   GridView1.DataSource = DT
   GridView1.DataBind()
 
 End Sub

End Class


---------------------------------------------------------------------------------
画像

参考サイト
http://www.oborodukiyo.info/Forms/VS2008/F-ReadCSVToDataTable.aspx
http://www.cocoaliz.com/asp.net/index/55/
 
記事へブログ気持玉 / トラックバック / コメント


ASP.NET2.0 CSVファイルをTextFieldParserで読み込み表示する

2010/12/27 11:09
ページロード時にTextFieldParserを使用して、CSVファイルを読み込み、HTMLのtableに表示する。

画像


Default.aspx.vb
−−−−−−−−−−−−−−−−−−−
Imports Microsoft.VisualBasic.FileIO
Imports System.Data

Partial Class _Default
 Inherits System.Web.UI.Page

 Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

  Using TextParser As New Microsoft.VisualBasic.FileIO.TextFieldParser("C:\file\EMPLOYEES_nocol_.csv", System.Text.Encoding.GetEncoding("shift_jis"))
  ' ファイルが区切り記号で区切
  TextParser.TextFieldType = Microsoft.VisualBasic.FileIO.FieldType.Delimited
  '区切り文字
  TextParser.Delimiters = New String() {","}
  Dim currentRow As String()
  Response.Write("<table>")
  'ファイルの終端までループ
  While Not TextParser.EndOfData
   Response.Write("<tr>")
   '1行を読み込み、それを文字列の配列として返して、カーソルを次の行に進める
    currentRow = TextParser.ReadFields()
   For Each currentField As String In currentRow
    Response.Write("<td>")
    If currentField.Length = 0 Then
     Response.Write(" ")
    Else
     Response.Write(currentField)
    End If
    Response.Write("</td>")
   Next
   Response.Write("</tr>")
  End While
  Response.Write("<table>")
  End Using
 End Sub
End Class



EMPLOYEES_nocol_.csv
−−−−−−−−−−−−−−−−−−−
100,"Steven","King","SKING","515.123.4567",87-06-17 00:00:00.000000000,"AD_PRES",24000,"","",90
101,"Neena","Kochhar","NKOCHHAR","515.123.4568",89-09-21 00:00:00.000000000,"AD_VP",17000,"",100,90
102,"Lex","De Haan","LDEHAAN","515.123.4569",93-01-13 00:00:00.000000000,"AD_VP",17000,"",100,90
103,"Alexander","Hunold","AHUNOLD","590.423.4567",90-01-03 00:00:00.000000000,"IT_PROG",9000,"",102,60
104,"Bruce","Ernst","BERNST","590.423.4568",91-05-21 00:00:00.000000000,"IT_PROG",6000,"",103,60
105,"David","Austin","DAUSTIN","590.423.4569",97-06-25 00:00:00.000000000,"IT_PROG",4800,"",103,60
106,"Valli","Pataballa","VPATABAL","590.423.4560",98-02-05 00:00:00.000000000,"IT_PROG",4800,"",103,60
107,"Diana","Lorentz","DLORENTZ","590.423.5567",99-02-07 00:00:00.000000000,"IT_PROG",4200,"",103,60
108,"Nancy","Greenberg","NGREENBE","515.124.4569",94-08-17 00:00:00.000000000,"FI_MGR",12000,"",101,100
109,"Daniel","Faviet","DFAVIET","515.124.4169",94-08-16 00:00:00.000000000,"FI_ACCOUNT",9000,"",108,100
110,"John","Chen","JCHEN","515.124.4269",97-09-28 00:00:00.000000000,"FI_ACCOUNT",8200,"",108,100
111,"Ismael","Sciarra","ISCIARRA","515.124.4369",97-09-30 00:00:00.000000000,"FI_ACCOUNT",7700,"",108,100
112,"Jose Manuel","Urman","JMURMAN","515.124.4469",98-03-07 00:00:00.000000000,"FI_ACCOUNT",7800,"",108,100
113,"Luis","Popp","LPOPP","515.124.4567",99-12-07 00:00:00.000000000,"FI_ACCOUNT",6900,"",108,100
114,"Den","Raphaely","DRAPHEAL","515.127.4561",94-12-07 00:00:00.000000000,"PU_MAN",11000,"",100,30
115,"Alexander","Khoo","AKHOO","515.127.4562",95-05-18 00:00:00.000000000,"PU_CLERK",3100,"",114,30
116,"Shelli","Baida","SBAIDA","515.127.4563",97-12-24 00:00:00.000000000,"PU_CLERK",2900,"",114,30

 
※サンプルは、以下タグでテーブルを装飾
table cellspacing=0 cellpadding=2 bgcolor=#ffffff border bordercolorlight=#000000 bordercolordark=#ffffff
 
記事へブログ気持玉 / トラックバック / コメント


ASP.NET FileUpload を実装

2010/12/21 22:11
FileUploadコントロールを使ったファイルのアップロードの実装です。

1. Webフォームに、「FileUpload」コントロールと「Button」コントロールを配置する。
2. Buttonクリックイベントに以下コードを記述する。

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click

 Dim strPath As String
 strPath = "c:\UploadedFiles\"
  
 If FileUpload1.HasFile Then
  FileUpload1.SaveAs(strPath + System.IO.Path.GetFileName(FileUpload1.FileName))
 Else
  Label1.Text = "ファイルを正しく選択してください。"
 End If
 
End Sub


画像


 
「FileUpload」コントロールのテキストボックスに、IE6の場合、入力が可能となっている。IE7以上では、入力できない。これはセキュリティに関する仕様変更とのこと。
さらに、IE6では、不正なファイル名が入力された場合、内部的に機能をキャンセルされてしまうため、ポストバックは発生しない。
IE6対策として、「FileUpload」コントロールの onkeydown イベントで入力を受付けないトラップを設ける。
<asp:FileUpload ID="FileUpload1" size="60" BackColor=LightSteelBlue onkeydown="return false" runat="server" />
(「FileUpload」コントロールのテキストボックスのサイズは、size="**" で設定できる)


ファイルのアップロードはその他に
・inputタグでtype="file"
・HttpPostedFile オブジェクト
等による方法もある。
 
記事へブログ気持玉 / トラックバック / コメント


Windows XP/Vistaの「リモートデスクトップ接続」をWindows 7相当にアップデート

2010/12/16 00:25
Windows XP/Vistaの「リモート デスクトップ接続」をWindows 7相当のv7.0へと更新するアップデートプログラムのダウンロード先

http://support.microsoft.com/kb/969084

記事へブログ気持玉 / トラックバック / コメント


ASP.NET AJAX 1.0

2010/12/13 19:58
ASP.NET AJAX 1.0 は、現在下記サイトからダウンロードできます。

Download details ASP.NET AJAX 1.0
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=ca9d90fa-e8c9-42e3-aa19-08e2c027f5d6&displaylang=en&siteID=TnL5HPStwNw-Xx0HJK78X4MZhw6nS2LKHA

Visual Studio 2005で、ASP.NET AJAX サイトを構築する場合は、ダウンロードしたファイルをインストールし,
新規Webサイトのテンプレートで「ASP.NET AJAX-Enabled Web サイト」を選択します。

.NET2.0〜3.5をマルチターゲッティングとする Visual Studio 2008では、.NET3.5の機能の一部として、ASP.NET AJAXが標準で搭載されています。ASP.NET AJAX サイトを構築する場合は、新規Webサイトのテンプレートで「ASP.NET Web サイト」を選択します。
 

記事へブログ気持玉 / トラックバック / コメント


Gridview のフッターに合計

2010/12/07 23:35
Gridview のフッターに合計

Dim total As Integer = 0

Protected Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowDataBound

GridView1.ShowFooter = True

If e.Row.RowType = DataControlRowType.DataRow Then
total += Convert.ToInt32(DataBinder.Eval(e.Row.DataItem, "salary"))
ElseIf e.Row.RowType = DataControlRowType.Footer Then
e.Row.Cells(0).Text = "計"
e.Row.Cells(2).Text = total.ToString("n0")
e.Row.Cells(2).HorizontalAlign = HorizontalAlign.Right
End If

End Sub

画像
 
 
記事へブログ気持玉 / トラックバック / コメント


DropDownList 〜 「オブジェクト参照がオブジェクト インスタンスに設定されていません。」

2010/12/01 19:01
DropDownListで、データソースをバインドして、以下のようなコードからデフォルト表示したい項目を設定しても、

DropDownList1.SelectedIndex = DropDownList1.Items.IndexOf(DropDownList1.Items.FindByText("りんご"))
 or
DropDownList1.SelectedIndex = DropDownList1.Items.IndexOf(DropDownList1.Items.FindByValue("3"))

「オブジェクト参照がオブジェクト インスタンスに設定されていません。」のエラーになる、もしくは、デフォルト表示が設定通り動かない場合、前後にスペースが入っている可能性があります。

select文で、Text および Value に設定する項目をTrim関数で前後のスペースを取り除いてみてください。

--------------------------------------------
ヒントをもらったHP

・・・
またはNO="3"というデータが無いと思います。(または3の前後にスペースが入っているとか)
・・・

http://oshiete.goo.ne.jp/qa/5832203.html
--------------------------------------------

記事へブログ気持玉 / トラックバック / コメント


ASP.NET で、CSVファイルをダウンロードするプログラム 続編

2010/10/13 00:52
ASP.NET で、既存のCSVファイルをダウンロードするプログラム 続編

 ・文字化け対策
 ・ファイルが存在しないときに、ダイアログボックスを表示
 を追加

※ ダイアログボックスの表示は、
  なっちゃんのプログラミングTips ASP.NETでMsgBox(もどき)を使う
  http://natchan-develop.seesaa.net/article/13554435.html
  から、そのまま利用させてもらいました。

※※ ASP.NETでは、MsgBox関数は使えません。開発モードでは、いかにも使えそうに見えるけれど・・・。

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click

  Dim strFile As String = "Sample.csv"
  Dim strPath As String = Server.MapPath(".") + "\"

  ' ファイルの有無

  If IO.File.Exists(strPath + strFile) = False Then

    JMsgBox("ファイルが存在しません")


Else

    ' 文字化け対策
    Response.ContentEncoding = Encoding.GetEncoding("Shift_JIS")
    Response.Charset = "shift_jis"


    ' ファイルダウンロードダイアログを表示する
    Response.ContentType = "application/octet-stream"
    ' ダウンロードファイルのデフォルトの名前を指定

    ' ファイル名文字化け対策
    Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(strFile))

    Response.Flush()
    ' 文字化け対策
    Response.WriteFile(strPath + HttpUtility.UrlEncode(strFile))

    Response.End()

  end if

 End Sub


' - - - - - - - - - - - - - - - - - - - - - - - - - - - -

 Private Sub JMsgBox(ByVal msg As String)

  'なっちゃんのプログラミングTips ASP.NETでMsgBox(もどき)を使う
  'http://natchan-develop.seesaa.net/article/13554435.html


  Dim strScript As String
  strScript = "<script language=javascript>"
  strScript &= "alert('" & msg & "');"
  strScript &= "</script>"
  Response.Write(strScript)

 End Sub

 
記事へブログ気持玉 / トラックバック / コメント


ASP.NET で、CSVファイルをダウンロードするプログラム

2010/10/11 15:45
ASP.NET で、既存のCSVファイルをダウンロードするプログラム

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click

  Dim strFile As String = "Sample.csv"
  Dim strPath As String = Server.MapPath(".") + "\"

  ' ファイルの有無
  If IO.File.Exists(strPath + strFile) Then

    ' ファイルダウンロードダイアログを表示する
    Response.ContentType = "application/octet-stream"
    ' ダウンロードファイルのデフォルトの名前を指定
    Response.AddHeader("Content-Disposition", "attachment; filename=" + strFile)
    Response.Flush()
    Response.WriteFile(strPath + strFile)
    Response.End()

  end if

 End Sub
 
記事へブログ気持玉 / トラックバック / コメント


ASP.NET で、共有フォルダーにアクセスするには

2010/10/10 16:13
ASP.NET から、共有フォルダーにアクセスするには、以下設定を行います。

1.ASP.Net稼働サーバーと共有フォルダーのあるサーバーに、共通のID・パスワードを作成する。

2.web.configに偽装を設定〜 <system.web>下に、以下行を追加する。

・・・・・・・
<system.web>
<identity impersonate="true" userName="<supplied username>" password="<supplied password>" />
・・・・・・・

尚、web.config を編集せずに、
IISマネージャーから、
1. 該当WEBサイトのプロパティを開く
2. ASP.NET」タブにある「構成の編集ボタン」をクリック
3. 「アプリケーション」タブの「IDの設定」にある「ローカル偽装」のチェックボックスにチェックを入れ、ユーザー名、パスワードを設定
で、偽装することができる。

※ web.configとIISのプロパティのどちらかで設定することで、互いに自動設定される。

注意点として、共有フォルダーの場所は、UNCパス(\\サーバー名\共有名)で記述します。


検証環境
ASP.Net稼働サーバーと共有フォルダーのあるサーバーは、どちらも
Windows2003サーバー
同じワークグループ名
記事へブログ気持玉 / トラックバック / コメント


javascript - yyyy/mm/dd形式の日付表示

2010/09/18 21:31
javascriptで、yy/mm/dd形式の日付表示。

<head>
<script language="JavaScript">
<!--
 myD = new Date();

 myYear = myD.getYear();
 myMonth = myD.getMonth() + 1;
 myDay = myD.getDate();
 myHours = myD.getHours();
 myMinutes = myD.getMinutes();
 mySeconds = myD.getSeconds();

 if (myYear < 2000) { myYear += 1900 }
 if (myMonth < 10) { myMonth = "0" + myMonth }
 if (myDay < 10) { myDay = "0" + myDay }
 if (myHours < 10) { myHours = "0" + myHours }
 if (myMinutes < 10) { myMinutes = "0" + myMinutes }
 if (mySeconds < 10) { mySeconds = "0" + mySeconds };

 myMess = myYear + "/" + myMonth + "/" + myDay + " " + myHours + ":" + myMinutes + ":" + mySeconds;
// -->
</script>
</head>

<body>
<script language="JavaScript">
<!--
 document.write("現在 ",myMess);
// -->
</script>
</body>

条件式は以下のようにも記述できる

<script language="JavaScript">
<!--
 myD = new Date();

 myYear = myD.getYear();
 myMonth = myD.getMonth() + 1;
 myDate = myD.getDate();
 myHours = myD.getHours();
 myMinutes = myD.getMinutes();
 mySeconds = myD.getSeconds();

 myYear4 = (myYear < 2000) ? myYear+1900 : myYear;
 myMonth2 = (myMonth < 10) ? "0" + myMonth : myMonth;
 myDate2 = (myDate < 10) ? "0" + myDate : myDate;
 myHours2 = (myHours < 10) ? "0" + myHours : myHours;
 myMinutes2 = (myMinutes < 10) ? "0" + myMinutes : myMinutes;
 mySeconds2 = (mySeconds < 10) ? "0" + mySeconds : mySeconds;

 myMess = myYear4 + "/" + myMonth2 + "/"+myDate2 + " " + myHours2 + ":" + myMinutes2 + ":" + mySeconds2;
// -->
</script>

 
記事へブログ気持玉 / トラックバック / コメント


続きを見る

トップへ

月別リンク

Corporate Edition ANNEX/BIGLOBEウェブリブログ
[ ]