2011-11-17 5 views
1

Je peux modifier une nouvelle donnée dans Powershell mais elle ne mettra pas à jour la liste Sharepoint sur le site lui-même.Mise à jour d'une liste Sharepoint à partir de Powershell

Voici un peu de mon code

Ici je remplir mon jeu de données avec des informations de table

$connString = 'Provider=Microsoft.ACE.OLEDB.12.0;WSS;IMEX=2;RetrieveIds=Yes;DATABASE=https://sharepoint/;LIST={6d552622-3333-4444-9999-234d32d32d3};' 
$spConn = new-object System.Data.OleDb.OleDbConnection($connString) 
$spConn.open() 
$qry="select * from myList" 
$cmd = new-object System.Data.OleDb.OleDbCommand($qry,$spConn) 
$da = new-object System.Data.OleDb.OleDbDataAdapter($cmd) 
$dataSet = new-object System.Data.DataSet 
$sp = $dataSet.Tables.Add("Table") 
$da.fill($sp) 

i ajouter ici une nouvelle datarow

$row = $sp.NewRow() 
$sp.Rows.Add($row) 
$row["Title"] = "Foo" 

Et ici, j'essayer de mettre à jour le Liste des points d'accès

$da.Update($sp) 

Il ne me laisse pas mettre à jour, toute aide ou guidence serait génial.

Merci

Répondre

1

Vous ajoutez une nouvelle ligne qui est une insertion. Les insertions ne sont pas prises en charge par le fournisseur OleDB par rapport à une liste SharePoint. Vous pouvez sélectionner ou mettre à jour la valeur d'une ligne existante, mais pas créer une nouvelle ligne.

+1

Quelle serait une autre façon d'ajouter une nouvelle ligne alors? –

+0

Je dois faire la même chose, quelqu'un sait comment ajouter une ligne dans la liste des points de partage de PowerShell? Mon script ne s'exécute pas sur le même système que SharePoint, donc les assemblys de point de partage .Net ne sont pas disponibles. –

+0

le code ci-dessus va ajouter une nouvelle Datarow, mais pour l'instant, je ne peux pas trouver un moyen de le mettre à jour à la liste des points de partage - je me sens comme il doit y avoir un moyen –

Questions connexes