Administration Service
http://servername/vti_adm/admin.asmx
วันศุกร์ที่ 25 กรกฎาคม พ.ศ. 2551
Web Services List
วันพฤหัสบดีที่ 24 กรกฎาคม พ.ศ. 2551
การสร้าง Site ผ่าน WebService ของ Sharepoint
TemplateID On Sharepoint 2007
ID - FOLDER (extra info) - Configurations
0 - GLOBAL (SetupPath=global) - "Global template" 1 - STS - "windows SharePoint Services Site", "Team Site", "Blank Site", "Document Workspace" 2 - MPS - "Basic Meeting Workspace", "Blank Meeting Workspace", "Decision Meeting Workspace", "Social Meeting Workspace", "Multipage Meeting Workspace" 3 - CENTRALADMIN - "Central Admin Site" 4 - WIKI - "Wiki Site" 7 - BDR - "Document Center" 9 - BLOG - "Blog" 20 - SPS (OBSOLETE) - "SharePoint Portal Server Site" 21 - SPSPERS - "SharePoint Portal Server Personal Space" 22 - SPSMSITE - "Personalization Site" 30 - SPSTOC (OBSOLETE) - "Contents area Template" 31 - SPSTOPIC (OBSOLETE) - "Topic area template" 32 - SPSNEWS (OBSOLETE) - "News area template" 33 - SPSNHOME (SubWebOnly) - "News Home template" 34 - SPSSITES - "Site Directory area template" 36 - SPSCOMMU (OBSOLETE) - "Community area template" 38 - SPSREPORTCENTER - "Report Center Site" 39 - CMSPUBLISHING (SetupPath=SiteTemplates\PUBLISHING) - "Publishing and Team Collaboration Site" 40 - OSRV (SetupPath=SiteTemplates\OSRV) - "Shared Services Administration Site" 47 - SPSPORTAL - "Corporate Intranet Site" 50 - SRCHCEN - "Search Center" 51 - PROFILES - "Profiles" 52 - BLANKINTERNETCONTAINER - "Internet Presence Web Site" 53 - BLANKINTERNET - "Publishing Site", "Press Releases Site", "Publishing Site" 54 - SPSMSITEHOST - "My Site Host" 90 - SRCHCENTERLITE (SetupPath=SiteTemplates\SRCHCENTERLITE) - "Search Center Lite" 6221 - PWA (SetupPath=SiteTemplates\PWA) - "Project Web Access Site" 6215 - PWS (SetupPath=SiteTemplates\PWS) - "Project Workspace" 14483 - OFFILE - "Records Repository", "Records Repository"
Ref : http://blogs.msdn.com/dwinter/archive/2006/07/07/659613.aspx
วันจันทร์ที่ 24 มีนาคม พ.ศ. 2551
Install Reporting Services 2005
2. Click menu install Server Components, tools.
3. Choose All Components to install , Business Intelligence Development Studio will be store in Client Components.
After installed finish you will see as below :
You will see "SQL Server Business Intelligence Development Studio" in you program list and your IIS will be created 2 Virtual Directory ::
1. Reports - I will find more information and told you later about this site.
2. ReportServer - For deploy your report and allow user view report via browser.
God bless you.
วันพุธที่ 16 มกราคม พ.ศ. 2551
Why JavaScript Topic can't be displayed ?
วันอังคารที่ 15 มกราคม พ.ศ. 2551
Sequence Css Block with A tag
If you place A:hover before A:link or A:visited. The property in A:hover will not be display.
วันอาทิตย์ที่ 13 มกราคม พ.ศ. 2551
BackGround Worker - Progress Bar
Private Sub btnGentoDb_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnGentoDb.Click
Me.bgw.RunWorkerAsync(.dgv.Rows.Count - 1) '---- ส่งจำนวนรอบ หรือไม่ส่งก็ว่างไว้
End Sub
Private Sub bgw_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles bgw.DoWork
Dim worker As BackgroundWorker = CType(sender, BackgroundWorker)
'เรียก แบบ Function ให้เอา ผลลัพธ์ ใส่ให้ e.result ด้วย
' e.Result = Function(parameter)
'เรียกแบบ Sub
Me.AppendData(e.Argument, worker, e) <<<<<< ไปเรียก Method ที่ทำการประมวลผลเช่นดึงค่ามาจาก Db
End Sub
Private Sub bgw_ProgressChanged(ByVal sender As System.Object, ByVal e As System.ComponentModel.ProgressChangedEventArgs) Handles bgw.ProgressChanged
'ทำงานหลัง จากมีการเรียก wk.ReportProgress(Pvalue)
'แสดงผล ความก้าวหน้าการทำงาน
pgb.Value = e.ProgressPercentage
End Sub
Private Sub bgw_RunWorkerCompleted(ByVal sender As System.Object, ByVal e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles bgw.RunWorkerCompleted
If Not (e.Error Is Nothing) Then
'ทำงานเมื่อเกิด exception ทำให้ การทำงานหยุด
MessageBox.Show(e.Error.Message.ToString, " Error ", MessageBoxButtons.OK, MessageBoxIcon.Error)
ElseIf e.Cancelled Then
' ทำงานหลัง เรียก CancelAsync.
MessageBox.Show(" Cancelled")
Else
'กรณี ปกติ ทำงานเสร็จหมดแล้ว มาจบที่ตรงนี้
'ให้กำหนดว่า(เมื่อทำงานเสร็จแล้วให้ทำอะไร)
' Finally, handle the case where the operation succeeded.
'ก็แค่บอกว่า ทำเสร็จ
Me.btnGentoDb.Enabled = True
End If
End Sub
Special Thanks ..
Gf Board Gf Minilab V.1อืมม ทบทวนความจำเรื่อง Dispose กับ Obj
ถามเรื่องตัวแปรทั่ว ๆ ที่ใช้ใน sub พอใช้เสร็จต้องจัดการอะไรกับตัวแปรนั้นๆ ไหมครับ
ตอบ
การใช้ Using .. End Using
MESSAGE #18854 (อ่าน 158 ครั้ง) Using .... End Using ใช้ยังไงครับ Using .... End Using ใช้ยังไงครับ กับ Try ... Catch ... End Try
ใช้ต่างกันยังไงครับ
ขอขคุณครับ ปอ
-----------------------
Using จะทำการ Dispose ตัวแปร command ให้อัตโนมัติครับ
ส่วน Try .. Catch ใช้ดักเมื่อเกิด throw exception
tony
----------------------
Using sample
Using conn As New SqlConnection(dsn) Using cmd As New SqlCommand("SELECT * FROM Employees", conn) conn.Open() Using rdr As SqlDataReader = cmd.ExecuteReader() While rdr.Read() Console.WriteLine(rdr(0)) End While End Using End Using End Using Nine (นาย) -------------------- ต้วอย่าง แบบไม่ใช้ Using Dim x2 As New Employee("x2") x2.Name = "test"
If (TypeOf x2 Is IDisposable) Then DirectCast(x2, IDisposable).Dispose() End If แบบใช้ Using Using x3 As New Employee("x3") x3.Name = "test" End Using
Iwis -------------------------------
Using cn1 As New SqlConnection(My.Settings.NorthwindConnectionString), _ cmd1 As New SqlCommand(sql1, cn1) cn1.Open() Dim reader As DataReader = cmd1.ExecuteReader() Do While (reader.Read()) Dim sql2 As String sql2 = "...." Using cn2 As New SqlConnection(My.Settings.NorthwindConnectionString), _ cmd2 As New SqlCommand(sql2, cn2) cn2.Open() cmd2.ExecuteNonQuery() End Using Loop reader.Close End Using surrealist ---------------------- Using da As New SqlDataAdapter(sql, cn) Dim cmd As SqlCommand = da.SelectCommand cmd.Parameters.Add("@para1", SqlDbType.XYZ).Value = yourValue ' ---- เมื่อเราสั่ง Fill, DataAdapter จะเอา SelectCommand ของมันไป ExecuteReader ' ---- เพื่อนำข้อมูลที่ได้จาก DataReader มา "Fill" ใส่ DataSet/DataTable ที่เรากำหนด da.Fill(ds, "Table1") End Using ' ... Return(ds)
surrealist
ขอบคุณทุกๆท่านที่มีรายชื่อครับ ที่มา ณ www.greatfriends.biz
การใช้ Parameter คู่กับ Dataset จะเขียนยังไงดีครับ
การใช้ Parameter คู่กับ Dataset จะเขียนยังไงดีครับ
Try
checkOpen() << เกี่ยวกับเปิดปิดการ Connect
Dim sql As String = " select * From MyTable Where id = @id And Name Like @Name "
Dim cmd As New SqlCommand(sql, cn)
cmd.Parameters.Add("@id", SqlDbType.DateTime).Value = sdate
cmd.Parameters.Add("@Name", SqlDbType.DateTime).Value = edate
dr = cmd.ExecuteReader
If dr.HasRows = True Then
cmd.Dispose()
dr.Close()
Dim da As New SqlDataAdapter(sql, cn)
Dim ds As New DataSet
da.Fill(ds, "Test")
da.Dispose()
Return ds <<< คืนค่าออกไป
Else
cmd.Dispose()
dr.Close()
End If
Catch ex As Exception
MsgBox(ex.Message & " จาก Function Test, TestClass")
Finally
cn.Dispose()
End Try
คือ ถ้าเขียนแบบนี้ ตัว SqlDataAdapter มันจะไม่รู้จัก ตัว Parameter น่ะครับ
ไม่ทราบว่ามันสามารถเขียนได้หรือไม่ครับ
![]() | MrSuthin | วันที่ส่ง: 3 ม.ค. 50 18:43 GMT+7 วันที่ปรับล่าสุด: 3 ม.ค. 50 19:50 GMT+7 |
![]() | surrealist
ขอขอบคุณ อาจารย์ครับ |
Datarelation กับ Dataset Read Xml
Dim cnString As String = "Bla Bla Bla ::: OpenConnection Database"
Dim cn As New SqlConnection
With cn
If .State = ConnectionState.Open Then .Close()
cn.ConnectionString = cnString
.Open()
End With
Dim sql As String = " select top 500 "
sql &= " Ta.idTableAccount , Ta.InvNo , Ta.Amount ,"
sql &= " Ta.Volume,"
'---- Consignee "
sql &= " Cn.TitleConsignee "
sql &= " From TableAccount Ta "
sql &= " Inner Join Consignee Cn On Ta.Consignee = Cn.idConsignee "
Dim da As New SqlDataAdapter(Sql, cn)
Dim ds As New DataSet
da.Fill(ds, "ShowAllTableAccount")
Dim sqlSub As String = " select top 500 "
sqlSub &= " Tat.idTableAccount , "
sqlSub &= " Tat.Sendto , Tat.SendInv , Tat.Voy , "
sqlSub &= " Tat.etd, Tat.kaset , Tat.eu , "
sqlSub &= " Tat.isCancel,"
'---- Consignee & Country
sqlSub &= " Vs.NameVessel , de.country "
sqlSub &= " From TableAccount Tat "
sqlSub &= " inner join TableAccount TaSub On Tat.idTableAccount = TaSub.idTableAccount "
sqlSub &= " Inner Join Destination De On Tat.Country = De.idDestination "
sqlSub &= " Left Join Vessel Vs On Tat.Vessel = Vs.idVessel"
' da.SelectCommand.CommandText = sqlSub
Dim da1 As New SqlDataAdapter(sqlSub, cn)
' Dim ds1 As New DataSet
da1.Fill(ds, "ShowAllTableAccountSub")
Dim dcMaster, dcDetails As DataColumn
'--- อ่าน Field idTableAccountเก็บไว้ใน dcMaster
dcMaster = ds.Tables("ShowAllTableAccount").Columns("idTableAccount")
'--- อ่าน Field idTableAccountเก็บไว้ใน dcDetails
dcDetails = ds.Tables("ShowAllTableAccountSub").Columns("idTableAccount")
'--- สร้างความสัมพันธ์ และใส่ค่าไว้ที่ dl
Dim dl As New DataRelation("Details", dcMaster, dcDetails)
ds.Relations.Add(dl)
Dim dvm As New DataViewManager
dvm.DataSet = ds
Dim dvs As DataViewSetting
dvs = dvm.DataViewSettings("ShowAllTableAccount")
dvs.Sort = "idTableAccount"
dvs = dvm.DataViewSettings("ShowAllTableAccountSub")
dvs.Sort = "Consignee"
With FvAccount.dgvAcc
.ReadOnly = True
.DataSource = dvm
.DataMember = "ShowAllTableAccount"
End With
With FvAccount.subDgvAcc
.ReadOnly = True
.DataSource = dvm
.DataMember = "ShowAllTableAccount.idTableAccount"
End With
จะสังเกตุได้ว่า เรา Dim New DataAdpter และ Dataset แค่ครั้งแรกครั้งเดียว ส่วนครั้งที่สองนั้น เราสามารถใช้
DataAdapter ตัวเดิมได้ แล้ว จะต้องใช้ Dataset ตัวเดิม ห้าม Dim New เพราะใช้แล้ว Error ว่ามันไม่สามารถทำ
Relation กับตัว Dataset ที่ต่างกันได้ ( แปลมาว่างี้ )
ต่อมา มาเรื่องของ Ds.ReadXml เวลา Export File จากไหนๆก็ตาม ยกตัวอย่างจาก Access
Export File ออกมาแบบธรรมดาไม่ต้องเอา Schema ( จะมี Option ขั้นสูงฝัง Schema มากับ Data เลย )
เพราะถ้าฝังมาด้วย มันจะทำให้ ds.ReadXml อ่านไม่ได้
พออ่านได้เราก็เอา ds.ReadXml("d:/Test.xml") << หรือรับค่ามาจาก OpenFileDialogbox ก็ได้
แล้วก็ไป Binding ใส่ Control ต่างๆได้ ต่อ ไป การอ้างถึงก็คือ
Ds.Tables("ชื่อTable")
ข้อควรจำในการ Export File มาเป็น Dataset
**** ถ้ามี Column ตรงกับชื่อ Table มันจะทำให้การอ่านค่าผิดพลาด จะต้องไม่ให้ ชื่อ Column ไม่ซ้ำกับชื่อของ Table เด็ดขาด !!
Property Dock กับ Bring To Front ของ DataGridView
การเข้าถึง Object ระหว่างคลาสภาค 2
Note กันลืม
การอ้างถึง ชื่อ dataset จะผิดพลาดไม่ได้แม้แต่ช่องว่าง

การเข้าถึง Control ของอีก คลาสนึง
Splash Screen แบบ Transparent บนพื้น Window
มาทำ splash Screen อย่างง่ายๆ
My.Application.DoEvents() '--- มันจะแทรกคิวตัว me.Opacity เข้าไปเพื่อให้ Main Thread วาด Me.Opacity ก่อน
Me.Opacity = i '--- ในหน้า Design มันจะเป็น % พอโค้ดมันเป็น Double สูงสุดที่ 1.0 แปลงมาจาก % นั่นเองครับ
Nex
System.Threading.Thread.Sleep(5000) '--- เมื่อความชัด 100 % ให้อึ้งไป 5 วิ
For j As Double = 1.0 To 0.0 Step -0.05 '--- มาถึงการ Fade Out ออก ให้วิ่งทีละ 0.05
My.Application.DoEvents()
Me.Opacity = j
Next
Me.Close() '--- ปิดฟอร์มซ้า
พอเสร็จจากหน้า Splash Screen แล้วเรามาทำที่หน้า Main ( ของผมคือ ฟอร์มแม่ ( Parent ) นั่นเอง เพระผมทำเป็น Mdi ฟอร์ม )
'--- ฟอร์มแม่ Events Load
Me.Visible = False '--- ให้ซ่อนฟอร์มแม่ไว้ก่อน ตัว Splash Screen จะได้ไปโลดแล่นอยู่บนพื้น Window แทน ( ดูดีมีระดับ )
Dim a As New Screen '--- เรียกใช้งาน
a.ShowDialog() '--- แสดงผล ถึงตอนนี้มันก็ไปทำงานใน Event Load ของ Splash Screen จด มัน ปิดตัวเองไป
My.Application.DoEvents() '--- แทรก คิวให้ แสดงฟอร์มแม่ขึ้นมา
Me.Visible = True
OpenLogin() '--- อันนี้ผมให้ไป Call Method Login เป็นรายการต่อไป
--------------------
F5 ทดสอบ ซะ ทีนี้ว่าใครจะปรับให้หน่วงช้า หน่วงเร็ว ก็ไปปรับตรง Thread.Sleep ซะ หน่วยมันจะเป็น มิลลินะครับ
ส่วนความเร็วในการ Fade ก็แก้กันตามใจชอบเลยครับ ตรง Step ของ For Next
หวังว่า เป็นอีก 1 หนทางในการทำ Splash Screen ได้นะครับ ( มันสามารถทำได้หลายแบบฮับ )
Many Thanks.
www.greatfriends.biz www.codeProject.com
Special Thanks.
พี่เหมี่ยว
ทำความเข้าใจ sql กันสักหน่อย ( โง่มานาน )
เมื่อทำ ClickOnce แล้ว พอไปลงเครื่องลูกแล้วมีปัญหา ADODB
เพิ่มแถวแรกให้กับ ComboBox เมื่อ Binding กับ Dataset

ก็ปรากกฏข้อมูลอย่างที่ผมต้องการ โดย SeletedValue มันค่า Nothing เพราะผมไม่ได้ทำการใส่ค่าไปด้วย เป็นอย่างที่ผมต้องการ ใครติดปัญหาตรงนี้ลองเอาไปประยุกต์ใช้ดูนะครับ Many Thanks.
GF Board อาจารย์สุเทพ คุณ NINE พี่ เหมี่ยว ( MM ) คุณ กิต ( KSM )