複製來源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
目前分類:ASPnet資料庫網站 (33)
- Oct 24 Wed 2012 22:46
MSSQL~複製來源TABLE 並新增流水號 欄位
- Oct 24 Wed 2012 22:40
MSSQL~update 遠端同步本地端Table修改內容
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
- Oct 23 Tue 2012 20:58
MSSQL~修改連線資料庫內容
你觀念搞錯了,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/
- Oct 14 Fri 2011 19:03
ASPX~使用者下載檔案視窗模式
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
- Oct 03 Mon 2011 15:36
vbnet~ Server端收到網路封包後 的 ECHO 方法
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
- Sep 23 Fri 2011 17:00
SQL Server 2008 R2 Express 安裝步驟
SQL Server 2008 R2 Express簡易安裝紀錄
http://jdev.tw/blog/2519/sql-server-2008-r2-express-installation
- Sep 23 Fri 2011 16:49
下載Microsoft SQL Server 2008 R2 RTM-Express
下載 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
- Sep 08 Thu 2011 03:13
讓iis7可以在win7執行wcf的問題解決方式
讓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
- Aug 10 Wed 2011 22:25
VB2010~getServerIP_ClientIP
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
- Aug 04 Thu 2011 07:23
Asp.net上線後 msgbox無法使用
引用自:
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
- Jul 01 Fri 2011 01:51
SQL Server2008R2 EXPRESS 下載連結
免費版本的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
- Jun 24 Fri 2011 19:23
SQLserverTool 下載
關於SQLserver2008 EXPRESS 帶有管理工具的版本
http://sharedderrick.blogspot.com/2008/09/sql-server-2008-express-edition.html
- Jun 23 Thu 2011 16:21
ADO.net4 sqlAdapter+DataSet+Gridview 存取動作
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
- Jun 09 Thu 2011 11:26
iTextSharp 產生PDF檔的好幫手
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
- Apr 05 Tue 2011 01:53
VBnet~Mysql .net + Adapter 的update使用
以下是一段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
- Dec 27 Mon 2010 00:26
Server.MapPath 取得伺服器網頁目錄路徑
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(".\\") + "
")
- Dec 25 Sat 2010 20:11
Cookie的使用方法
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
- Dec 15 Wed 2010 22:54
WebClient對網頁寫入flash檔案
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
- Nov 25 Thu 2010 13:30
javascript+滑鼠按鈕變化multiview
參考 : 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將它變成區域的回傳
- Nov 24 Wed 2010 20:15
Page類別的跨網頁傳遞
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