目前分類:ASPnet資料庫網站 (33)

瀏覽方式: 標題列表 簡短摘要

複製來源TABLE 並新增 流水號 欄位


Public Shared Sub sqlAction_addflow_column()


'可以先用sqldatasource元件自動產生連線字串 會放在web.config內

'Dim conn_str = "Data Source=JKSERVER-PC;Initial Catalog=SQLALARMLOG;Integrated Security=True"
' Dim conn_str = "Data Source=JKSERVER-PC;Initial Catalog=alarm;Integrated Security=True"
Dim conn_str = "Data Source=JKSERVER-PC;Initial Catalog=SQLALARMLOG;Integrated Security=True"
Dim conn1 As New SqlConnection(conn_str)


'Dim cmdstr = "ALTER Table ALARM Add idd int "
'Dim cmdstr = "CREATE Table ALARM2 from ALARM , ALTER Table ALARM2 Add idd int "

Dim cmdstr = "Select IDENTITY(INT,1,1) AS flow, * INTO NEW_ALARM FROM ALARM "
Dim sqlcmd = New SqlCommand(cmdstr, conn1)
'sqlcmd.Parameters.AddWithValue("@ID", ID_str)
'Dim sqlcmd = "ALTER TABLE ALARM ADD PRIMARY KEY (flow)"

Dim Adapter1 As SqlDataAdapter = New SqlDataAdapter(sqlcmd)
Dim cb As New SqlCommandBuilder
Dim alarmTable As New DataTable '建立本地記憶體資料表 內部容器裝載
'cb.DataAdapter = Adapter1
Adapter1.Fill(alarmTable)



End Sub

prague12 發表在 痞客邦 留言(0) 人氣()

Public Shared Function sqlAction_CollectAlarm_RowLines(ByRef DatagridviewIn As DataGridView) As List(Of String) 'Dim conn_str = "Data Source=JKSERVER-PC;Initial Catalog=SQLALARMLOG;Integrated Security=True" Dim conn_str = "Data Source=JKSERVER-PC;Initial Catalog=SQLALARMLOG;Integrated Security=True" Dim conn1 As New SqlConnection(conn_str) Dim cmdstr = "SELECT AlarmDateTime, ClearedDateTime, AlarmID ,flow,ST,AlarmRate,ActionRate FROM NEW_ALARM " Dim sqlcmd = New SqlCommand(cmdstr, conn1) 'sqlcmd.Parameters.AddWithValue("@ID", ID_str) Dim Adapter1 As SqlDataAdapter = New SqlDataAdapter(sqlcmd) Dim cb As New SqlCommandBuilder(Adapter1) ' for update ' Dim dataset1 = New Data.DataSet() '產生一個名為test 的 DataSet Dim alarmTable As New DataTable '建立本地記憶體資料表 內部容器裝載 Adapter1.Fill(alarmTable) '-------------查Action Rate---------------- Dim actR_list = sql_QueryDatalogValue_byTime(DatagridviewIn, alarmTable) 'Dim NN = actR_list.Count ' MsgBox(NN.ToString)` '-------------/查Action Rate/---------------- '---------列舉所有 start time ------------ ' Dim alarmTable_rows = From n In alarmTable ' Dim rows_N = alarmTable.LongCount Dim row_line_collect As New List(Of String) Dim symbol = "," Dim index = 0 For Each mm In alarmTable.Rows alarmTable.Rows(index).Item(6) = CInt(actR_list(index)) Dim colume_time = Convert.ToDateTime(mm(0)) ' Dim td1 As New DateTime(2012, 10, 17, 9, 0, 0) Dim td1 = colume_time Dim ts1 As New TimeSpan(0, 10, 0) 'Dim AmR As New List(Of String) Dim AmR = From column In alarmTable Where DateTime.Compare(column(0), td1 - ts1) 0 AndAlso DateTime.Compare(column(0), td1) 這個本地dataset修改後做 update 才有效 DatagridviewIn.DataSource = alarmTable conn1.Close() '------/抓取第一個欄位 裡的內容/-------------- Return row_line_collect End Function

prague12 發表在 痞客邦 留言(0) 人氣()

你觀念搞錯了,DataSet 是離線式資料庫,只是將資料從資料庫快取出來,放在記憶體內,DataSet 內的資料沒有主鍵值也可以改。


當資料要從 DataSet 寫回資料庫時,xxxxCommandBuilder 是依據主鍵值產生 UpdateCommand, DeleteCommand ,若是你資料庫本身沒有主鍵值,UpdateCommand 就無法明確指出要更新哪筆資料。

若是不想在資料庫內設置主鍵值,你就要放棄使用 CommandBuilder ,自己產生 UpdateCommand, DeleteCommand 。


參考:
http://social.msdn.microsoft.com/Forums/zh-TW/232/thread/79dd33cd-256c-4414-bbb8-26c7c3d5ac44/

prague12 發表在 痞客邦 留言(0) 人氣()

Protected Sub Button_kml_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button_kml.Click
Dim gpsdata = sqlAction_CollectGpsdata(User.Identity.Name)

Dim Lng_Lat_Collection As New List(Of String)
Dim Lng_Lat_strALL As New StringBuilder

For i = 0 To gpsdata.flow.Count - 1
Dim Lng = gpsdata.Lng(i).ToString
Dim Lat = gpsdata.Lat(i).ToString
Lng_Lat_Collection.Add(Lng + "," + Lat)
Lng_Lat_strALL.Append(Lng + "," + Lat + vbNewLine)
Next
Dim kml_content_point = Class_GPS.create_kml_points(Lng_Lat_Collection.ToArray)
Dim kml_content_track = Class_GPS.create_kml_track(Lng_Lat_strALL.ToString)

Directory.CreateDirectory("C:\inetpub\wwwroot\carlog\kml_temp")
Dim temp_path = "C:\inetpub\wwwroot\carlog\kml_temp\"


Dim filename_kml_track = User.Identity.Name + "_track.kml"
Dim path_kml_track = temp_path + filename_kml_track

Dim filename_kml_point = User.Identity.Name + "_point.kml"
Dim path_kml_point = temp_path + filename_kml_point

Dim w_kmltrack As New StreamWriter(path_kml_track, False)
Dim w_kmlpoint As New StreamWriter(path_kml_point, False)
w_kmltrack.Write(kml_content_track)
w_kmltrack.Flush()
w_kmltrack.Close()

w_kmlpoint.Write(kml_content_point)
w_kmlpoint.Flush()
w_kmlpoint.Close()

'-----------------------
' Dim rootPath = HttpContext.Current.Request.MapPath("~/") '取得當前目錄PATH
'Dim url_kmlpoint = "http://" + Class_netIP.getServerIP + "/carlog/kml_temp/" + filename_kml_point '欲下載圖的連結URL
'Dim url_kmltrack = "http://" + Class_netIP.getServerIP + "/carlog/kml_temp/" + filename_kml_track '欲下載圖的連結URL

'------使用者下載檔案視窗模式------------
Response.ContentType = "text/plain"
Response.AppendHeader("Content-Disposition", "Attachment; FileName=point_kml.kml")
Response.TransmitFile(path_kml_point) '要給server端的本機實體存檔路徑 (ex: c:/ aaa.txt)
Response.End()
'------/使用者下載檔案視窗模式/------------



End Sub

prague12 發表在 痞客邦 留言(0) 人氣()

Server端收到網路封包後 的 ECHO 方法



'===============================

Private Sub ReceiveData(ByVal state As Object)
Dim myObj As New CSState
myObj.ClientSocket = CType(state, CSState).ClientSocket
myObj.myTcpListener = CType(state, CSState).myTcpListener
myObj.mystring = ""
Dim myNetworkStream As New NetworkStream(myObj.ClientSocket)
Dim InBytesCount As Integer = 0
Dim myReceiveBytes(1023) As Byte
Dim i As Integer = 0



While True
Try
InBytesCount = myNetworkStream.Read(myReceiveBytes, 0, myReceiveBytes.Length)
'InBytesCount =接收數據的數量
System.Threading.Thread.Sleep(100)
If InBytesCount = 0 Then '都沒有收到的話 結束掉while
Exit While
Else
' myNetworkStream.Write(myReceiveBytes, 0, InBytesCount) 'JKFIX: echo回去
myObj.mystring = Encoding.GetEncoding(950).GetString(myReceiveBytes).TrimEnd().TrimStart()
'--------------------
MsgBox(myObj.mystring.Length.ToString)
DB_list.rec_content = myObj.mystring.Substring(0, 4).Trim '/很奇怪必須指定字串長度 不然後續產生空白 長度大小會變1024
DB_list.rfid = DB_list.rec_content
' MsgBox(DB_list.rfid)



Try
DB_list.writeDB(DB_list.rec_content) 'jk加入 停車資料庫進出場查詢
'----JK echo now_money-------
Dim aaa As String = DB_list.now_money
Dim echo_bytes = Encoding.ASCII.GetBytes(aaa) 'string要先轉換成bytes
myNetworkStream.Write(echo_bytes, 0, echo_bytes.length) 'JKFIX: echo回去

'-----------
Catch ex As Exception
MsgBox(ex.ToString)

End Try
'---------------

DisplayMsg1(myObj)
End If




Catch ex As Exception
MessageBox.Show(ex.ToString)
Exit Sub
End Try
End While
End Sub

prague12 發表在 痞客邦 留言(0) 人氣()



SQL Server 2008 R2 Express簡易安裝紀錄

http://jdev.tw/blog/2519/sql-server-2008-r2-express-installation

prague12 發表在 痞客邦 留言(0) 人氣()

下載 Microsoft SQL Server 2008 R2 RTM - Express with Management Tools - 中文(繁體)

http://sharedderrick.blogspot.com/2010/05/sql-server-2008-r2-express.html

Express 版本的硬體限制

CPU:最多支援 1 顆實體 CPU。
記憶體:最多支援到 1 GB。
每個資料庫的最大大小為:10 GB。先前版本(SQL Server 2005 與 2008 的 Express 版本)是支援到 4 GB。
http://sharedderrick.blogspot.com/2011/09/sql-server-2008-policy-based.html

prague12 發表在 痞客邦 留言(0) 人氣()

讓iis7可以執行wcf的問題解決方式
配置 Win7 和 IIS7 以支持WCF

http://www.cnblogs.com/pchen/archive/2010/02/26/1674259.html

http://www.dotblogs.com.tw/yangxinde/archive/2010/10/18/18422.aspx

http://hi.baidu.com/62466454264/blog/item/4787811e006ec3c2a686691d.html

http://www.flatws.cn/article/program/win7/2011-05-07/24658.html

prague12 發表在 痞客邦 留言(0) 人氣()

Imports Microsoft.VisualBasic
Imports System.Net
Public Class Class_netIP
Public Shared Function getServerIP() As String
Dim ipHostEntry As IPHostEntry = Dns.Resolve(Dns.GetHostName())
Dim ipAddress As IPAddress = ipHostEntry.AddressList(0)
Return ipAddress.ToString
End Function

'''
''' 取得Client的ip位址
'''
''' Web.HttpRequest
''' user登入的ip位址
'''
Public Shared Function getClientIP(ByVal req As Web.HttpRequest) As String
Dim ip_addr As String
If req.ServerVariables("HTTP_X_FORWARDED_FOR") = String.Empty Or _
InStr(req.ServerVariables("HTTP_X_FORWARDED_FOR"), "unknown") > 0 Then
ip_addr = req.ServerVariables("REMOTE_ADDR")
ElseIf InStr(req.ServerVariables("HTTP_X_FORWARDED_FOR"), ",") > 0 Then
ip_addr = Mid(req.ServerVariables("HTTP_X_FORWARDED_FOR"), 1, _
InStr(req.ServerVariables("HTTP_X_FORWARDED_FOR"), ",") - 1)
ElseIf InStr(req.ServerVariables("HTTP_X_FORWARDED_FOR"), ";") > 0 Then
ip_addr = Mid(req.ServerVariables("HTTP_X_FORWARDED_FOR"), _
1, InStr(req.ServerVariables("HTTP_X_FORWARDED_FOR"), ";") - 1)
Else
ip_addr = req.ServerVariables("HTTP_X_FORWARDED_FOR")
End If
Return Mid(ip_addr, 1, 30).Trim
End Function

End Class

prague12 發表在 痞客邦 留言(0) 人氣()

引用自:
http://blog.xuite.net/tolarku/blog/27121473

在asp.net上線後 msgbox無法使用 只有在除錯階段環境是可以使用的

透過一小小段 sub ,以 alert 方式來顯示你要給使用者的提示訊息

Sub showbox(ByVal message As String)
Dim scriptA As String
Dim messageA As String
messageA = Strings.Replace(message, "'", "\'")
messageA = Strings.Replace(messageA, vbNewLine, "\n")
scriptA = String.Format("alert('{0}');", messageA)
ScriptManager.RegisterStartupScript(Me, Me.GetType(), "alert", scriptA, True)
End Sub

prague12 發表在 痞客邦 留言(0) 人氣()

免費版本的MS SQL EXPRESS 2008 R2 版本下載連結在此
(網路上很多 SQL Server2008 EXPRESS 的連結都是引自微軟官方的網頁 可是也無法下載)



目前只有R2 版本的可以正常下載
free with Microsoft SQL Server 2008 R2 Express
有分好幾種版本 基本上是有含管理TOOL 和沒有含管理TOOL 兩類

R2 連結
http://www.microsoft.com/sqlserver/en/us/editions/express.aspx

prague12 發表在 痞客邦 留言(0) 人氣()

關於SQLserver2008 EXPRESS 帶有管理工具的版本
http://sharedderrick.blogspot.com/2008/09/sql-server-2008-express-edition.html

prague12 發表在 痞客邦 留言(0) 人氣()

ADO.net4  sqlAdapter+DataSet+Gridview 存取動作
1.Select
2.Update

JK test ok
'====================================

Imports System.Data.SqlClient
Imports System.Web.Configuration '.net4 可以會這樣把連線字串獨立出來
Partial Class Postpage
    Inherits System.Web.UI.Page
    Public ReadOnly Property pre_Control_Textbox1() As TextBox  '公開這個 TextBox1 控制項給 後頁去存取
    Get
    Return TextBox1
    End Get
    End Property

    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
    TextBox1.Text = "KQ"  '測試crossPost
    End Sub

    Protected Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.Click

    sqlAction_Select()  '依ID去查詢
    End Sub

    Protected Sub Button3_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button3.Click

    sqlAction_update() '依ID去查詢
    sqlAction_Select() '把查詢後的欄位資料分離取出後  再做更新

    End Sub


    Public Sub sqlAction_Select()
    '依ID去查詢
    '-----------

    '可以先用sqldatasource元件自動產生連線字串  會放在web.config內
    Dim conn_str = WebConfigurationManager.ConnectionStrings("db_webcamConnectionString").ConnectionString '使用第一組連線字串 (也可以用name 目前也只有放一組 )
    Dim conn1 As New SqlConnection(conn_str)

    Dim cmdstr = "SELECT   Table_webcam.* FROM   Table_webcam Where UserName=@UserName"
    Dim sqlcmd = New SqlCommand(cmdstr, conn1)
    sqlcmd.Parameters.AddWithValue("@UserName", TextBox1.Text)

    Dim Adapter1 As SqlDataAdapter = New SqlDataAdapter(sqlcmd)
    Dim dataset1 = New Data.DataSet() '產生一個名為test 的 DataSet
    Adapter1.Fill(dataset1)


    GridView2.DataSource = dataset1
    If dataset1.Tables.Count > 0 Then '可以測試insert >> "的確有"回傳資料給 ds
    GridView2.DataBind() '更新網頁容器GridView2
    dataset1.Clear()
    End If


    '-----------取出每個row 的每個cell 的值----------------
    Dim rows = GridView2.Rows.Count

    Dim str_all As String = ""
    For Each mm As GridViewRow In GridView2.Rows
    Dim str_temp As String = ""

    Dim cells_colum = mm.Cells().Count
    For i = 0 To cells_colum - 1
    str_temp = mm.Cells(i).Text.ToString.Trim
    str_all = str_all + str_temp + "/"
    Next
    Next
    Dim str_all_array = str_all.Split("/")

    TextBox_area.Text = str_all_array(1)
    TextBox_fps.Text = str_all_array(2)
    TextBox_Meta.Text = str_all_array(3)
    TextBox_email.Text = str_all_array(4)


    '------------/取出每個row 的每個cell 的值/-----------------


    End Sub


    Public Sub sqlAction_update()
    '把查詢後的欄位資料分離取出後  再做更新
    '---------------------
    '可以先用sqldatasource元件自動產生連線字串  會放在web.config內
    Dim conn_str = WebConfigurationManager.ConnectionStrings("db_webcamConnectionString").ConnectionString '使用第一組連線字串 (也可以用name 目前也只有放一組 )
    Dim conn1 As New SqlConnection(conn_str)

    '   Dim cmdstr_select = "SELECT   Table_webcam.* FROM   Table_webcam Where UserName=@UserName"
    Dim cmdstr_update = "UPDATE    Table_webcam SET  area = @area, Email = @Email  WHERE UserName = @UserName "
    Dim sqlcmd = New SqlCommand(cmdstr_update, conn1)
    sqlcmd.Parameters.AddWithValue("@UserName", TextBox1.Text)
    sqlcmd.Parameters.AddWithValue("@area", TextBox_area.Text)
    sqlcmd.Parameters.AddWithValue("@Email", TextBox_email.Text)
    Dim Adapter1 As SqlDataAdapter = New SqlDataAdapter(sqlcmd)
    Dim dataset1 = New Data.DataSet() '產生一個名為test 的 DataSet
    Adapter1.Fill(dataset1)

    GridView2.DataSource = dataset1
    If dataset1.Tables.Count > 0 Then '可以測試insert >> "的確有"回傳資料給 ds
    GridView2.DataBind() '更新網頁容器GridView2
    dataset1.Clear()
    End If
    End Sub

End Class

prague12 發表在 痞客邦 留言(0) 人氣()

http://www.cc.ntu.edu.tw/chinese/epaper/0015/20101220_1509.htm

使用ASP .NET (C#) 產生PDF檔的好幫手—iTextSharp library

http://www.cc.ntu.edu.tw/chinese/epaper/0016/20110320_1610.html

很清楚的使用教學
http://www.cnblogs.com/LifelongLearning/archive/2011/03/31/2001196.html

prague12 發表在 痞客邦 留言(0) 人氣()

以下是一段mysql .net + Adapter 的使用
資料庫操作功能包含 select , update 的使用
主要是藉由給予一個主要查詢欄位 >> 取出全表內欄位內容 個別欄位內容處理 >> 針對主查詢欄位更新
只有更新原本的欄位內容 所以表內資料不會新增其他欄位內容 (沒有新記錄)


'--------------------------
Imports MySql.Data.MySqlClient
Imports System.Data

Public Class Form1

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

DB_list.writeDB("a111")


End Sub
End Class

Public Class DB_list

Public Shared rfid As String
Public Shared inside_state As String
Public Shared time1 As Date
Public Shared time2 As Date
Public Shared de_money As String
Public Shared now_money As String

Public Shared Sub writeDB(ByVal rfid_Query As String)

'------------建立連線物件--------------------
Dim pubsSQLConn As New MySqlConnection("server=127.0.0.1;user id=gps;pwd=gps;database=gpsdata;port=3306 ;CharSet=utf8;") 'mysqlport=3306
pubsSQLConn.Open() '使用連線
' MsgBox(pubsSQLConn.State.ToString) '提示連線狀態
'------------/建立連線物件/--------------------





Dim whereCondition = " WHERE parking_record.rfid = " + "'" + rfid_Query + "'"
'----------一些sql 的動作語法-----------查詢 ,寫入--------
' Dim myquery As String = " INSERT INTO aaa.bbb (ab, op) VALUES ('1235', 'qqq65858') "
' Dim myquery As String = " INSERT INTO aaa.bbb (ab) VALUES ('qqqkman') " '對bbb資料表裡的op欄位插入qqqkman值
' Dim myquery As String = "SELECT op FROM bbb LIMIT 0, 30 "
'Dim myquery As String = "select * from parking_record " ' 去查詢有一個資料表 bbb 裡所有資料
Dim myquery As String = "select * from parking_record" + whereCondition ' 去查詢有一個資料表 bbb 裡所有資料
' Dim myquery As String = "select op from bbb " ' 去查詢有一個 bbb資料表 裡 op 欄位內資料
'----------/一些sql 的動作語法-----------查詢 ,寫入/--------




'-----------建立橋接器 ---------------------
Dim adpt As New MySqlDataAdapter(myquery, pubsSQLConn)
Dim myData As New DataTable '建立本地記憶體資料表 內部容器裝載
' myData.Clear() '先清空
adpt.Fill(myData) '將遠端資料喬進本地 DATATABLE 也將本地資料喬進遠端
'----------/建立橋接器/-------------------



'------抓取第一個欄位 裡的內容--------------
Dim mm As DataRow
For Each mm In myData.Rows
DB_list.rfid = mm(0).ToString
DB_list.inside_state = mm(1).ToString
DB_list.time1 = mm(2).ToString
DB_list.time2 = mm(3).ToString
DB_list.de_money = mm(4).ToString
DB_list.now_money = mm(5).ToString


Form1.ComboBox1.Items.Add(DB_list.rfid)
Next
'------/抓取第一個欄位 裡的內容/--------------

'-----------外部網頁容器裝載------------------
' Form1.DataGridView1.DataSource = myData 'GRIDVIEW控制項顯示出來
'-----------/外部網頁容器裝載/------------------



'-----Step2----------------------------------------------------------------------
Select Case DB_list.inside_state.Trim
Case "no"
' MsgBox("no")
DB_list.inside_state = "yes"
DB_list.time1 = Date.Now
DB_list.time2 = Nothing
DB_list.de_money = Nothing

DB_list.RenewTable(myData)

Case "yes"
' MsgBox("yes")
DB_list.time2 = Date.Now

Dim Day1_n = DB_list.time1.Day
Dim Hour1_n = DB_list.time1.Hour
Dim Min1_n = DB_list.time1.Minute
Dim Sec1_n = DB_list.time1.Second

Dim Day2_n = DB_list.time2.Day
Dim Hour2_n = DB_list.time2.Hour
Dim Min2_n = DB_list.time2.Minute
Dim Sec2_n = DB_list.time2.Second

Dim pay As Integer

If Day1_n = Day2_n Then
' pay = (Hour2_n - Hour1_n) '小時計費


'-----------以秒計費---------------
If Min2_n = Min1_n Then
pay = Sec2_n - Sec1_n
ElseIf Min2_n > Min1_n Then
pay = (Min2_n - Min1_n) * 60 + (Sec2_n - Sec1_n)

End If
'------------以秒計費---------------------


End If

' MsgBox(pay_Hour.ToString)

DB_list.de_money = pay.ToString
DB_list.now_money = CStr(CInt(DB_list.now_money) - CInt(DB_list.de_money))
DB_list.inside_state = "no"
DB_list.RenewTable(myData)
Case Else
MsgBox("else ERROR")


End Select



'-----/Step2/-------------------------------------------------------------------------




End Sub

Public Shared Sub RenewTable(ByRef myData As DataTable)
Dim mm As DataRow
For Each mm In myData.Rows
mm(0) = DB_list.rfid
mm(1) = DB_list.inside_state
mm(2) = DB_list.time1
mm(3) = DB_list.time2
mm(4) = DB_list.de_money
mm(5) = DB_list.now_money
Next



Dim q_all = "UPDATE `gpsdata`.`parking_record` SET `inside` ='" + DB_list.inside_state + "',`time1` = '" + DB_list.time1 + "',`time2` = '" + DB_list.time2 + "',`del_money` = '" + DB_list.de_money + "',`now_money` = '" + DB_list.now_money + "' WHERE `parking_record`.`rfid` = 'a111' "

Dim pubsSQLConn As New MySqlConnection("server=127.0.0.1;user id=gps;pwd=gps;database=gpsdata;port=3306 ;CharSet=utf8;") 'mysqlport=3306
Dim adpt As New MySqlDataAdapter(q_all, pubsSQLConn)
adpt.Fill(myData) '將遠端資料喬進本地 DATATABLE 也將本地資料喬進遠端


'-----------外部網頁容器裝載------------------
Form1.DataGridView1.DataSource = myData 'GRIDVIEW控制項顯示出來
'-----------/外部網頁容器裝載/------------------

End Sub
Public Shared Sub Clear_Table(ByRef myData As DataTable)
Dim mm As DataRow
For Each mm In myData.Rows
mm(0) = Nothing
mm(1) = Nothing
mm(2) = Nothing
mm(3) = Nothing
mm(4) = Nothing
mm(5) = Nothing
Next

'-----------外部網頁容器裝載------------------
Form1.DataGridView1.DataSource = myData 'GRIDVIEW控制項顯示出來
'-----------/外部網頁容器裝載/------------------

End Sub



End Class

prague12 發表在 痞客邦 留言(0) 人氣()

Dim dd = Calendar1.SelectedDates
Dim ddstr As String = ""
For Each mm In dd
ddstr = ddstr + mm.ToString.Substring(0, 10) + ">>用日期去搜索資料庫" + vbNewLine
Next
TextBox_Calendar.Text = ddstr

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

Response.Write("根目錄:" + Server.MapPath("~\\") + "
")
Response.Write("檔案目前位置:" + Server.MapPath(".\\") + "
")

prague12 發表在 痞客邦 留言(0) 人氣()

Cookie的使用方法
參考: http://msdn.microsoft.com/zh-tw/library/ms178194.aspx


Public Sub cookie_set(ByVal name As String, ByVal olddata As String)
'http://msdn.microsoft.com/zh-tw/library/ms178194.aspx
'寫法1
' Response.Cookies("userInfo")("userName") = "patrick"
' Response.Cookies("userInfo")("lastVisit") = DateTime.Now.ToString()
' Response.Cookies("userInfo").Expires = DateTime.Now.AddDays(1)

'寫法2
Dim aCookie As New HttpCookie("orderJK") '主索引鍵 "orderJK"
aCookie.Values("userName") = name
aCookie.Values("data") = olddata
aCookie.Expires = DateTime.Now.AddMinutes(1) '保存期限 再1分鐘後cookie失效

Response.Cookies.Add(aCookie)
'----------------------
TextBox_cookie.Text = "此次訂購成功" + vbNewLine + "~~~請稍待~~勿連續下單~~ " + vbNewLine + olddata
TextBox_cookie.BackColor = Drawing.Color.Green
End Sub







Public Function cookie_get(ByRef name As String, ByRef olddata As String) As Boolean


If Not Request.Cookies("orderJK") Is Nothing Then

name = Request.Cookies("orderJK")("userName")
olddata = Request.Cookies("orderJK")("data")

' Dim cc = Request.Cookies("orderJK")("data") '
Return True '表示之前的cookie 還存在有效 也就是剛剛1分鐘內才下過訂單
Else
Return False
End If



End Function

prague12 發表在 痞客邦 留言(0) 人氣()

Imports System.Data
Imports System.Net
'Imports System.Web
Imports System.IO

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

'------對網頁寫入flash檔案 讓瀏覽器去解碼--------------------
Dim wc As New WebClient()
Dim b As Byte() = wc.DownloadData("http://files.dotblogs.com.tw/dotjum/ad/ie8study.swf")

Response.ContentType = "application/x-shockwave-flash" '必寫 不然瀏覽器認不出來怎麼解碼
Response.BinaryWrite(b)
'------/對網頁寫入flash檔案 讓瀏覽器去解碼/------------------------


End Sub

prague12 發表在 痞客邦 留言(0) 人氣()

參考 : http://www.dotblogs.com.tw/puma/archive/2008/03/16/1636.aspx

JKFIX:

1.在HTML內的HEAD內 先宣告 JAVASCRIPT函數>> gotoMultiviewN()


2.
在網頁一開始讀取時 替網頁內的Button 加入滑鼠事件屬性

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

ButtonKK.Attributes.Add("onmouseover", "gotoMultiviewN(ButtonKK)") ' 添加"onmouseover" 事件屬性給button ,引發函數 gotoMultiviewN
ButtonLL.Attributes.Add("onmouseover", "gotoMultiviewN(ButtonLL)")

End If

End Sub

3. POSTBACK是全域的 ,利用AJAX將它變成區域的回傳








prague12 發表在 痞客邦 留言(0) 人氣()

System.Web.UI.Page類別 的 跨網頁>> 物件傳遞



'=======================================
法1:  

step1.在前頁裡宣告公開控制項的property   設定要POST過去的後頁    


Imports System.Data.SqlClient

Imports System.Web.Configuration
Partial Class Postpage
    Inherits System.Web.UI.Page
    Public ReadOnly Property preControl_Textbox1() As TextBox  '公開這個 TextBox1 控制項給 後頁去存取
        Get
            Return TextBox1
        End Get
    End Property

    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
        ' TextBox1.Text = "KQ"
       End Sub
End Class
'

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

step2.在後頁html宣告virtualPath 來源是前頁 就可以取得前頁的控制項
 



Partial Class About
    Inherits System.Web.UI.Page

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If Not Page.PreviousPage Is Nothing Then
            Label1.Text = PreviousPage.preControl_Textbox1.Text  '從上頁取回控制項 preControl_Textbox

        End If
    End Sub
End Class









'=====================================================
法2.


JKFIX:

1.要在html內 加入 PostBackUrl的導向頁語法 如下
              Text="Dropdown_select" Width="116px" />

2.
使用PreviousPage.FindControl 要再轉型一次 型別必須跟原物件相同 如下
bb = CType(PreviousPage.FindControl("TextBox_serial"), TextBox)
3.
傳遞到新頁面的物件可以被找到以後 似乎只能讀取屬性值


'================================================

Imports System.Data
Imports System.Data.SqlClient
Imports System.Web



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

'--------Textbox 傳遞-------------------
Dim bb As New TextBox
bb = CType(PreviousPage.FindControl("TextBox_serial"), TextBox)

'TextBox1 =bb '這樣沒有作用
TextBox1.Text = bb.Text '這樣有作用
'所以似乎上頁元件雖然有傳過來(但無法直接對應給新頁面元件)

'--------/Textbox 傳遞/-------------------





'------DropDownList 傳遞---------------------------------
Dim d1 As New DropDownList
d1 = CType(PreviousPage.FindControl("d1"), DropDownList) '可以從上頁找到原本的d1取得全部屬性值

'可是卻無法直接指定給新頁面的dropdown物件
'只好手動技巧的取值傳遞給新的下拉選單元件
Dim aa(d1.Items.Count) As String
For i = 0 To d1.Items.Count - 1
aa(i) = d1.Items.Item(i).Text
DropDownList1.Items.Add(aa(i))
Next

' For Each mm In dd.Items.Item ' 無法使用這種寫法 item有唯讀限制

' Next

'------/DropDownList 傳遞/------------------------------

End Sub

prague12 發表在 痞客邦 留言(0) 人氣()

1 2