動的な配列コントロール5  次の文書

動的な配列コントロール1~5で完結します。

Protected Sub コメント登録_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles コメント登録.Click
ブログNO.Text = StrConv(ブログNO.Text, VbStrConv.Uppercase)

Dim cn As New SqlConnection(ConfigurationManager.ConnectionStrings("LocalSqlServer").ToString())
cn.Open()

'---KEYの取得------------------------------------
Dim ブログコメントKEY As String = "ブログコメント親"
Dim DataCnt As Integer = 0

Dim KEYGET As New SqlCommand("SELECT 値 FROM DB_TBL_KEY WHERE [KEY]=@pブログコメント1", cn)
Dim pブログコメント1 As SqlParameter = KEYGET.Parameters.Add("@pブログコメント1", Data.SqlDbType.NChar, 10)
pブログコメント1.Value = ブログコメントKEY
Dim drKEYGET As SqlDataReader = KEYGET.ExecuteReader()

Dim ブログコメントID As Integer = 0
While drKEYGET.Read()
ブログコメントID = drKEYGET("値") + 1
End While
drKEYGET.Close()

'---KEYの更新-------------------------------------
Dim KEYUPD As New SqlCommand("UPDATE DB_TBL_KEY SET 値=@pブログコメントID1 WHERE [KEY]=@pブログコメント2", cn)
Dim pブログコメントID1 As SqlParameter = KEYUPD.Parameters.Add("@pブログコメントID1", Data.SqlDbType.Int, 5)
pブログコメントID1.Value = ブログコメントID
Dim pブログコメント2 As SqlParameter = KEYUPD.Parameters.Add("@pブログコメント2", Data.SqlDbType.NChar, 10)
pブログコメント2.Value = ブログコメントKEY
Dim cnt As Integer = KEYUPD.ExecuteNonQuery()

Dim IDKEY As String = ""
If ブログコメントID >= 1 Then
IDKEY = "P0000" & ブログコメントID
End If
If ブログコメントID >= 10 Then
IDKEY = "P000" & ブログコメントID
End If
If ブログコメントID >= 100 Then
IDKEY = "P00" & ブログコメントID
End If
If ブログコメントID >= 1000 Then
IDKEY = "P0" & ブログコメントID
End If
If ブログコメントID >= 10000 Then
IDKEY = "P" & ブログコメントID
End If

'ブログコメンNO.Text = IDKEY

'内容の書き込み
Dim 登録日 As String
Dim 登録時間 As String

Dim w_month As String = Month(Today)
Dim w_day As String = Day(Today)
If w_month < 10 Then w_month = "0" & w_month
If w_day < 10 Then w_day = "0" & w_day
登録日 = Year(Today) & "/" & w_month & "/" & w_day

Dim w_Hour As String = Hour(Now)
Dim w_Minute As String = Minute(Now)
Dim w_Second As String = Second(Now)
If w_Hour < 10 Then w_Hour = "0" & w_Hour
If w_Minute < 10 Then w_Minute = "0" & w_Minute
If w_Second < 10 Then w_Second = "0" & w_Second
登録時間 = w_Hour & ":" & w_Minute & ":" & w_Second


Dim ブログコメントADD As New SqlCommand("INSERT INTO DB_TBL_コメント親 (ブログID,コメントID,名前,コメント,PictureUrl,type,thum,datum,ホスト,アドレス,登録日,登録時間,パス,削除) VALUES(@pブログID,@pコメントID,@p名前,@pコメント,@pPictureUrl,@ptype,@pthum,@pdatum,@pホスト,@pアドレス,@p登録日,@p登録時間,@pパス,@p削除)", cn)
Dim pブログID As SqlParameter = ブログコメントADD.Parameters.Add("@pブログID", Data.SqlDbType.Char, 6)
Dim pコメントID As SqlParameter = ブログコメントADD.Parameters.Add("@pコメントID", Data.SqlDbType.Char, 6)
Dim p名前 As SqlParameter = ブログコメントADD.Parameters.Add("@p名前", Data.SqlDbType.NChar, 10)
Dim pコメント As SqlParameter = ブログコメントADD.Parameters.Add("@pコメント", Data.SqlDbType.NVarChar, 4000)
Dim pホスト As SqlParameter = ブログコメントADD.Parameters.Add("@pホスト", Data.SqlDbType.Char, 50)
Dim pアドレス As SqlParameter = ブログコメントADD.Parameters.Add("@pアドレス", Data.SqlDbType.Char, 50)
Dim p登録日 As SqlParameter = ブログコメントADD.Parameters.Add("@p登録日", Data.SqlDbType.Char, 10)
Dim p登録時間 As SqlParameter = ブログコメントADD.Parameters.Add("@p登録時間", Data.SqlDbType.Char, 8)
Dim pパス As SqlParameter = ブログコメントADD.Parameters.Add("@pパス", Data.SqlDbType.NChar, 8)
Dim p削除 As SqlParameter = ブログコメントADD.Parameters.Add("@p削除", Data.SqlDbType.Char, 1)
pブログID.Value = Left(ブログNO.Text, 6)
pコメントID.Value = IDKEY
p名前.Value = Left(名前.Text, 10)
pコメント.Value = Left(コメント内容.Text, 4000)
pホスト.Value = Request.ServerVariables("REMOTE_HOST")
pアドレス.Value = Request.ServerVariables("REMOTE_ADDR")
p登録日.Value = 登録日
p登録時間.Value = 登録時間
pパス.Value = Left(コメントパス.Text, 8)
p削除.Value = "0"

Dim pPictureUrl As SqlParameter = ブログコメントADD.Parameters.Add("@pPictureUrl", Data.SqlDbType.VarChar, 50)
pPictureUrl.Value = "gazoget3.aspx?ID=" & ブログNO.Text & "&KY=" & IDKEY

Dim type As SqlParameter = ブログコメントADD.Parameters.Add("@ptype", datum1.PostedFile.ContentType)

Dim aryData(datum1.PostedFile.ContentLength) As Byte
datum1.PostedFile.InputStream.Read(aryData, 0, datum1.PostedFile.ContentLength)
'ブログコメントADD.Parameters.Add("@pdatum", aryData)

Dim ファイル名 As String = ""
Dim ファイルタイプ As String = ""

ファイル名 = Path.GetFileName(datum1.PostedFile.FileName)
ファイルタイプ = datum1.PostedFile.ContentType


Dim st As IO.Stream
st = datum1.PostedFile.InputStream

'i=1:サムネイル 2:通常
For i = 1 To 2
If Len(ファイル名) > 1 Then
Dim bmpSrc As Drawing.Bitmap = New Drawing.Bitmap(st)

'元画像の縦横サイズを調べる
Dim 横 As Integer = bmpSrc.Width
Dim 縦 As Integer = bmpSrc.Height

'横を35pxにする比率
Dim 新横 As Integer = 35
If i = 1 Then
新横 = 35
Else
新横 = 490
End If
Dim 比率 As Double = 新横 / 横
Dim 新縦 As Integer = 縦 * 比率

'画像のサイズ変更
Dim dest As Drawing.Bitmap = New Drawing.Bitmap(bmpSrc, 新横, 新縦)

'画像を特定のフォルダに保存する時
'dest.Save("d:\temp\testtesttest.jpg", Drawing.Imaging.ImageFormat.Jpeg)

'メモリ空間に書き出し
Dim ms As New IO.MemoryStream()
dest.Save(ms, Drawing.Imaging.ImageFormat.Jpeg)

Dim aryDatathm(ms.Length) As Byte
'読み込み位置再設定
ms.Position = 0
'msからaryData1へデータを取り込む
ms.Read(aryDatathm, 0, ms.Length)

If i = 1 Then
ブログコメントADD.Parameters.Add("@pthum", aryDatathm)
Else
ブログコメントADD.Parameters.Add("@pdatum", aryDatathm)
End If
Else
Dim strPic As String = Server.MapPath("./") & "gazouget3.gif"
Dim bmpSrc As Drawing.Bitmap = New Drawing.Bitmap(strPic)

Dim dest As Drawing.Bitmap = New Drawing.Bitmap(bmpSrc, 50, 50)

'画像を特定のフォルダに保存する時
'dest.Save("d:\temp\testtesttest.jpg", Drawing.Imaging.ImageFormat.Jpeg)

'メモリ空間に書き出し
Dim ms As New IO.MemoryStream()
dest.Save(ms, Drawing.Imaging.ImageFormat.Jpeg)

Dim aryDatathm(ms.Length) As Byte
'読み込み位置再設定
ms.Position = 0
'msからaryData1へデータを取り込む
ms.Read(aryDatathm, 0, ms.Length)

If i = 1 Then
ブログコメントADD.Parameters.Add("@pthum", aryDatathm)
Else
ブログコメントADD.Parameters.Add("@pdatum", aryDatathm)
End If

End If
Next

Dim cnt_ As Integer = ブログコメントADD.ExecuteNonQuery()

cn.Close()


'一番後のTBLへセットする

Dim tr As New TableRow
Dim tc As New TableCell

i = コメント親cnt

コメント親IDT(i) = IDKEY

コメントlbl(i) = New Label
Dim Wコメント As String = "<img border=0 src=gazoget3.aspx?ID=" & IDKEY & ">"
Wコメント = Wコメント & " " & IDKEY & " " & 登録日 & 名前.Text & コメント内容.Text
コメントlbl(i).Text = Wコメント
tc.Controls.Add(コメントlbl(i))
tr.Cells.Add(tc)
コメントTable.Rows.Add(tr)


コメントW改行1(i) = New Label
コメントW改行1(i).Text = "<br>"
tc.Controls.Add(コメントW改行1(i))
tr.Cells.Add(tc)
コメントTable.Rows.Add(tr)

コメント見出1(i) = New Label
コメント見出1(i).Text = "お名前"
tc.Controls.Add(コメント見出1(i))
tr.Cells.Add(tc)
コメントTable.Rows.Add(tr)


tr.Cells.Add(tc)
コメントTable.Rows.Add(tr)

コメントW改行4(i) = New Label
コメントW改行4(i).Text = "<br><br>"
tc.Controls.Add(コメントW改行4(i))
tr.Cells.Add(tc)
コメントTable.Rows.Add(tr)

名前.Text = ""
コメント内容.Text = ""
コメントパス.Text = ""

Page.SetFocus(コメントパス)
コメント登録.Visible = False

'返信登録結果.Text = "結果 " & i & " へ追加<br>"
'For i = 0 To コメント親cnt
'返信登録結果.Text = 返信登録結果.Text & i & " " & コメント親IDT(i) & "<br>"
'Next i

Dim 戻先 As String = "comment.aspx?ID=" & ブログNO.Text

Response.Redirect(戻先)

End Sub

End Class

 
新規登録時自分へResponse.Redirectし再表示する



← 左の文字をここへ入力後 登録ボタンをクリックしてください

(サイト管理者承認後掲載されます)

2016/06/24:管理者の承認待ちです。

2016/06/24:サンプルのコメント