I need to write a simple C# .NET application to retrieve, update, and insert some data in a Sharepoint list.
I am NOT a Sharepoint developer, and I don't have control over our Sharepoint server. I would prefer not to have to develop this in a proper sharepoint development environment simply because I don't want to have to deploy my application on the Sharepoint server -- I'd rather just access data externally.
Anyway, I found out that you can access Sharepoint data using OLE DB, and I tried it successfully using some ADO.NET:
var db = DatabaseFactory.CreateDatabase();
DataSet ds = new DataSet();
using (var command = db.GetSqlStringCommand("SELECT * FROM List"))
{
db.LoadDataSet(command, ds, "List");
}
The above works.
However, when I try to insert:
using (var command = db.GetSqlStringCommand("INSERT INTO List ([HeaderName],
[Description], [Number]) VALUES ('Blah', 'Blah', 100)"))
{
db.ExecuteNonQuery(command);
}
I get this error:
Cannot update 'HeaderName'; field not updateable.
I did some Googling and apparently you cannot insert data through OLE DB!
Does anyone know if there are some possible workarounds?
I could try using Sharepoint Web Services, but I tried that initially and was having a heck of a time authenticating. Is that my only option?