如何解决如何将数据写入现有的Sharepoint 2007日历列表
| 国内需求,我们必须让我们的开发系统表格复制到WSS 3.0日历列表中 简而言之,我知道需要使用ADO来更新此表的[Alluserdata],并且也要知道 tp_listId。 但是,更新后,已写入数据库,则无法显示在Sharepoint页面中 我做错什么了... ps:怀疑与tp_size字段有关,但不确定.... Public Sub Pm_woToSharePoint(ByVal PM_WO_MAIN_VIEWRow As PM_WO_MAIN_VIEW)
Try
Dim cdataobj As New cDataACCESS
Dim dt_Prolist As Data.DataTable
Dim selectString As String
selectString = \"select top 1 * from AllUserData where tp_listId=\'4C0516DB-B090-4740-A0F0-B99E6DC31C0C\' order by tp_id desc\"
dt_Prolist = cdataobj.sqlDt(selectString,\"SharepointConnectionString\")
Dim CalenderListRow As Data.DataRow = dt_Prolist.NewRow
Dim CalenderListRow2 As Data.DataRow = dt_Prolist.Rows(0)
With CalenderListRow2
CalenderListRow.Item(\"tp_ID\") = .Item(\"tp_id\") + 1
CalenderListRow.Item(\"tp_ListId\") = .Item(\"tp_ListId\")
CalenderListRow.Item(\"tp_SiteId\") = .Item(\"tp_SiteId\")
\' CalenderListRow.Item(\"tp_RowOrdinal\") = 0
CalenderListRow.Item(\"tp_Version\") = 1
CalenderListRow.Item(\"tp_Author\") = 96
CalenderListRow.Item(\"tp_Editor\") = 96
CalenderListRow.Item(\"tp_Modified\") = Now
CalenderListRow.Item(\"tp_Created\") = Now
CalenderListRow.Item(\"tp_Ordering\") = DBNull.Value
CalenderListRow.Item(\"tp_ThreadIndex\") = DBNull.Value
\' CalenderListRow.Item(\"tp_HasAttachment\") = 0
\'CalenderListRow.Item(\"tp_ModerationStatus\") = 0
CalenderListRow.Item(\"tp_IsCurrent\") = 1
CalenderListRow.Item(\"tp_ItemOrder\") = 100 * CalenderListRow.Item(\"tp_ID\")
CalenderListRow.Item(\"tp_InstanceID\") = DBNull.Value
\' CalenderListRow.Item(\"tp_GUID\") = 4
\' CalenderListRow.Item(\"tp_CopySource\") = DBNull.Value
\'CalenderListRow.Item(\"tp_HasCopyDestinations\") = DBNull.Value
CalenderListRow.Item(\"tp_AuditFlags\") = DBNull.Value
CalenderListRow.Item(\"tp_InheritAuditFlags\") = DBNull.Value
CalenderListRow.Item(\"tp_Size\") = .Item(\"tp_Size\")
CalenderListRow.Item(\"tp_WorkflowVersion\") = 1
CalenderListRow.Item(\"tp_WorkflowInstanceID\") = DBNull.Value
CalenderListRow.Item(\"tp_DirName\") = .Item(\"tp_DirName\")
CalenderListRow.Item(\"tp_LeafName\") = CStr(CalenderListRow.Item(\"tp_ID\")) & \"_.000\"
CalenderListRow.Item(\"tp_DeleteTransactionId\") = .Item(\"tp_DeleteTransactionId\")
CalenderListRow.Item(\"tp_ContentType\") = .Item(\"tp_ContentType\")
CalenderListRow.Item(\"tp_ContentTypeId\") = .Item(\"tp_ContentTypeId\")
CalenderListRow.Item(\"nvarchar1\") = PM_WO_MAIN_VIEWRow.ITEM_NAME & \" \" & PM_WO_MAIN_VIEWRow.ITEM_VALUE
CalenderListRow.Item(\"nvarchar3\") = PM_WO_MAIN_VIEWRow.ST_NAME_CHT
CalenderListRow.Item(\"ntext2\") = \"機台:\" & PM_WO_MAIN_VIEWRow.MS_NAME_CHT & \" 生產人員:\" & PM_WO_MAIN_VIEWRow.ProductPerson
CalenderListRow.Item(\"datetime1\") = DateAdd(DateInterval.Hour,-8,CType(PM_WO_MAIN_VIEWRow.START_TIME,DateTime))
CalenderListRow.Item(\"datetime2\") = DateAdd(DateInterval.Hour,CType(PM_WO_MAIN_VIEWRow.END_TIME,DateTime))
CalenderListRow.Item(\"int1\") = 0
\' CalenderListRow.Item(\"int2\") = .Item(\"int2\")
CalenderListRow.Item(\"bit1\") = 0
CalenderListRow.Item(\"bit2\") = 0
CalenderListRow.Item(\"bit3\") = 0
CalenderListRow.Item(\"tp_Level\") = 1
CalenderListRow.Item(\"tp_IsCurrentVersion\") = 1
CalenderListRow.Item(\"tp_UIVersion\") = 512
CalenderListRow.Item(\"tp_CalculatedVersion\") = 0
CalenderListRow.Item(\"tp_UIVersionString\") = \"1.0\"
CalenderListRow.Item(\"tp_DraftOwnerId\") = DBNull.Value
CalenderListRow.Item(\"tp_UIVersionString\") = DBNull.Value
CalenderListRow.Item(\"tp_CheckoutUserId\") = DBNull.Value
End With
dt_Prolist.Rows.Add(CalenderListRow)
cdataobj.ExecSQL(dt_Prolist,selectString,\"SharepointConnectionString\")
Catch ex As System.Exception
Throw
End Try
End Sub
解决方法
您在完全错误的路径上直接访问数据库,这很危险且不受支持。
执行此类操作的正确方法是对象模型或Web服务(或2010年的客户端对象模型)-请在此处和此处开始。
这是针对2010,但其步骤相同2007-如何将事件添加到SharePoint 2010日历
SPListItem newEvent = yourCalendar.Items.Add();
newEvent[\"Location\"] = \"This is location\";
newEvent[\"Start Time\"] = DateTime.Now;
newEvent[\"End Time\"] = DateTime.Now.AddHours(1);
newEvent[\"Description\"] = \"Going for Meting\";
newEvent[\"Title\"] = \"New Meting\";
newEvent[\"fAllDayEvent\"] = false;
newEvent[\"Category\"] = \"Meting\";
//Create Event in the sharpoint.
newEvent.Update();
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。