zoukankan      html  css  js  c++  java
  • 通过 Visual Studio 2010 创建 Business Data Connectivity Service 进行外部数据的连接

    第一步:创建Sql 数据库与数据表(如上文,略)

    第二步:通过VS2010创建Business Data Connectivity Model类型的Project

    1):创建BDCModel 类型的Project

    2):绑定到对应的Site上

    第三步:对初始化的Entity类进行属性的调整,以及对默认的Read List 和 Read Item方法进行属性调整

    1):将初始化的Entity名字修改成为Product

    ===============================================================================

    2):将主键修改成为ProductID,设置为int32类型

    3):对ReadList方法中的属性进行修改(return parameter --> 即:应该返回所有item的集合)

      注:各字段类型要匹配ProductID为int32,ProductName和ProductDescription为string】

    ======================================================================

    ==============================================================

    =============================================================================

    4):仿造上面的步骤对ReadItem方法中的属性进行修改(id and return parameter --> 即:根据选择item的id返回该item的所有信息)

      【注:各字段类型要匹配ProductID为int32,ProductName和ProductDescription为string】

    第四步:到Solution Explorer中将原始的Entity1类修改为我们使用的Product类,使之与数据库中Product表字段对应

    第五步:在ProductService.cs中完成ReadList和ReadItem方法,使之在操作List中的Item时,能够完成对数据库中的数据的更新。代码如下:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Data.SqlClient;
    using System.Data;
    
    namespace BdcModelProject2.BdcModel1
    {
        public class ProductService
        {
            static SqlConnection getSqlConnection()
            {
                string connectionString = "server=(local);database = EricSunDB;Integrated Security = true";
                SqlConnection sqlConn = new SqlConnection(connectionString);
                return sqlConn;
            }
    
            public static Product ReadItem(int id)
            {
                //TODO: This is just a sample. Replace this simple sample with valid code.
                Product product = new Product();
                SqlConnection sqlConn = getSqlConnection();
                sqlConn.Open();
                SqlCommand sqlCommand = new SqlCommand();
                sqlCommand.CommandText = "select ProductID, ProductName, ProductDescription from Product where ProductID=" + id.ToString();
                sqlCommand.Connection = sqlConn;
                SqlDataReader sqlDataReader = sqlCommand.ExecuteReader(CommandBehavior.CloseConnection);
                if (sqlDataReader.Read())
                {
                    product.ProductID = int.Parse(sqlDataReader[0].ToString());
                    product.ProductName = sqlDataReader[1].ToString();
                    product.ProductDescription = sqlDataReader[2].ToString();
                }
                else
                {
                    product.ProductID = -1;
                    product.ProductName = "Product Not Found";
                    product.ProductDescription = "";
                }
    
                sqlConn.Dispose();
                return product;
            }
    
            public static IEnumerable<Product> ReadList()
            {
                //TODO: This is just a sample. Replace this simple sample with valid code.
                SqlConnection sqlConn = getSqlConnection();
                try
                {
                    List<Product> productList = new List<Product>();
                    sqlConn.Open();
                    SqlCommand sqlComm = new SqlCommand();
                    sqlComm.Connection = sqlConn;
                    sqlComm.CommandText = "select ProductID, ProductName, ProductDescription from Product";
                    SqlDataReader sqlDataReader = sqlComm.ExecuteReader(CommandBehavior.CloseConnection);
                    while (sqlDataReader.Read())
                    {
                        Product product = new Product();
                        product.ProductID = int.Parse(sqlDataReader[0].ToString());
                        product.ProductName = sqlDataReader[1].ToString();
                        product.ProductDescription = sqlDataReader[2].ToString();
                        productList.Add(product);
                    }
                    return productList;
                }
                catch (Exception ex)
                {
                    string tellMe = ex.ToString();
                    Product[] productList = new Product[0];
                    Product product = new Product();
                    product.ProductID = -1;
                    product.ProductName = "Unable to retrieve data";
                    productList[0] = product;
                    return (productList);
                }
                finally
                {
                    sqlConn.Dispose();
                }
            }
        }
    }

    第六步:(主要步骤与上篇的一样,故省略)

    1):deploy整个工程

    2):之后在SharePoint 的 CA 中Business Data Connectivity Service(Application)中可以看到刚刚创建出来的External Content Type,之后对此实例进行Set Object Permission 和 Set Metadata Store Permission操作

    3):然后到SharePoint中的对应site中创建一个External类型的List,并绑定到刚刚创建出来External Content Type,这样创建出来的List就与数据库中表的数据一一对应了

    ************************************************************************************************************************

    ************************************************************************************************************************

    如果要完成对Item的Delete,Create,Update这些操作,请看如下步骤

    附加第一步:创建Delete,Create,Update这三种方法

    附加第二步:在后台完成对数据库的这三种操作,代码如下所示

    public static void Delete(int productID)
            {
                SqlConnection sqlConn = getSqlConnection();
                sqlConn.Open();
                SqlCommand sqlComm = new SqlCommand();
                sqlComm.Connection = sqlConn;
                sqlComm.CommandText = "delete from Product where ProductID=" + productID.ToString();
                sqlComm.ExecuteNonQuery();
                sqlConn.Dispose();
            }
    
            public static Product Create(Product newProductEntity)
            {
                SqlConnection sqlConn = getSqlConnection();
                sqlConn.Open();
                SqlCommand sqlComm = new SqlCommand();
                sqlComm.Connection = sqlConn;
                sqlComm.CommandText = "insert into Product(ProductName, ProductDescription) values('" + newProductEntity.ProductName + "', '" + newProductEntity.ProductDescription + "')";
                sqlComm.ExecuteNonQuery();
                sqlConn.Dispose();
                return newProductEntity;
            }
    
            public static void Update(Product productEntity)
            {
                SqlConnection sqlConn = getSqlConnection();
                sqlConn.Open();
                SqlCommand sqlComm = new SqlCommand();
                sqlComm.Connection = sqlConn;
                sqlComm.CommandText = "update Product set ProductID='"+productEntity.ProductID+"', ProductName='" + productEntity.ProductName + "', ProductDescription='" + productEntity.ProductDescription + "' where ProductID='" + productEntity.ProductID.ToString() + "'";
                sqlComm.ExecuteNonQuery();
                sqlConn.Dispose();
            }

    附加第三步:用SharePoint Designer创建New,Update操作时显示的Form(如果不创建对应的Form,在点击操作的时候会有提示报错)

    之后就可以在Sharepoint中对Item进行delete,create,edit操作了。

  • 相关阅读:
    js创建json对象
    redis命令行清缓存
    查询某个用户所有新增的用户,本月新增用户,上个月新增的用户
    js处理el表达式
    调用上一个页面的js方法
    生成唯一code
    jeeplus中两个项目redis冲突问题
    $ 与 #
    字典表的维护
    将html文档转成pdf
  • 原文地址:https://www.cnblogs.com/mingmingruyuedlut/p/2785639.html
Copyright © 2011-2022 走看看