加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

使用c#在sharepoint 2007中访问列表

发布时间:2020-12-15 23:58:26 所属栏目:百科 来源:网络整理
导读:我想从sharepoint 2007中的几个不同的客户列表中编译数据 它是一个托管的sharepoint站点,所以我无法访问机器后端. 是否有使用c#访问sharepoint站点的示例代码? 这是我到目前为止的代码(我收到错误无法连接到Sharepoint网站”.稍后再试.) DataSet dt = new D
我想从sharepoint 2007中的几个不同的客户列表中编译数据

它是一个托管的sharepoint站点,所以我无法访问机器后端.

是否有使用c#访问sharepoint站点的示例代码?

这是我到目前为止的代码(我收到错误无法连接到Sharepoint网站”.稍后再试.)

DataSet dt = new DataSet();
    string query = "SELECT * FROM list";
    string site = "http://sp.markonsolutions.com/Lists/Security/";
    string list = "35E70EO4-6072-4T55-B741-4B75D5F3E397"; //security db
    string myConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;WSS;IMEX=2;RetrieveIds=Yes; DATABASE="+site+";LIST={"+list+"};";
    OleDbConnection myConnection = new OleDbConnection();
    myConnection.ConnectionString = myConnectionString;
    OleDbCommand myAccessCommand = new OleDbCommand(query,myConnection);
    OleDbDataAdapter myDataAdapter = new OleDbDataAdapter(myAccessCommand);
    myConnection.Open();



          myDataAdapter.Fill(dt);

    //execute queries,etc
    myConnection.Close();

解决方法

除非您使用适用于SharePoint的ado.net连接器,否则不确定您尝试执行的操作是否可行,请查看 http://www.bendsoft.com/net-sharepoint-connector/

它使您可以与SharePoint列表进行通信,就像它们在普通的sql表中一样

在示例中插入一些数据

public void SharePointConnectionExample1()
{
    using (SharePointConnection connection = new SharePointConnection(@"
                Server=mysharepointserver.com;
                Database=mysite/subsite
                User=spuser;
                Password=******;
                Authentication=Ntlm;
                TimeOut=10;
                StrictMode=True;
                RecursiveMode=RecursiveAll;
                DefaultLimit=1000;
                CacheTimeout=5"))
    {
        connection.Open();
        using (SharePointCommand command = new SharePointCommand("UPDATE `mytable` SET `mycolumn` = 'hello world'",connection))
        {
            command.ExecuteNonQuery();
        }
    }
}

或者选择列表数据到DataTable

string query = "SELECT * FROM list";
conn = new SharePointConnection(connectionString);
SharePointDataAdapter adapter = new SharePointDataAdapter(query,conn);

DataTable dt = new DataTable();
adapter.Fill(dt);

或者使用辅助方法填充DataGrid

string query = "Select * from mylist.viewname";
DataGrid dataGrid = new DataGrid();
dataGrid.DataSource = Camelot.SharePointConnector.Data.Helper.ExecuteDataTable(query,connectionString);
dataGrid.DataBind();
Controls.Add(dataGrid);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读