[SharePoint2007]使用自定义数据库的几个问题

    MOSS2007中提供了显示、新增、编辑、删除自定义数据库的功能。

    显示和删除功能都很容易实现,我在做的过程中没有遇到什么难题,所以就不写了。

    先说说编辑吧:

    我在Designer中添加了一个“项目表单”来完成编辑功能。

    1、我使用的数据库是SQL Server 2005,一开始做编辑功能的时候,MOSS总是提示“数据控件没有执行操作(大体是这个意思)”,无法将编辑结果保存到数据库中。后来经过一项一项的排除才发现,原来是我将数据表的主键也放到了“项目表单”中,所以MOSS才会报错。

    2、将主键去掉后,MOSS不报错了,但又出现了一个新的问题,编辑的结果无法保存到数据库中,这又是为什么呢?
    经过检查,发现如果某个字段的值是null或者空字符串,那么“项目表单”就不会将编辑结果保存到数据库中。因此,如果要使用“项目表单”做编辑,那么要保证数据库中各个字段的默认值不为null或空字符串。

    再说说新增:

    使用Designer在页面中添加一个“新建项目表单”可以很容易的实现新增功能。我这里要说的是如何将其他表中的数据作为新增内容保存到当前做新增功能的数据表中。具体步骤如下:

     1、在Designer中插入一个“新建项目表单”:
新建项目表单
    “新建项目表单”中所有的输入项目都是文本框,这里我们需要将SupplierID对应的输入项目换成下拉列表,其中绑定的是另外一张数据表的数据;

    2、在SupplierID对应的文本框中,插入一个下拉列表,然后将另一张数据表绑定到这个下拉列表中;


    数据绑定的方法请参考SharePoint Designer的帮助,里面有很详细的教程;

    3、在Designer中找到SupplierID对应的文本框的代码:
< asp:TextBox  runat ="server"  id ="ff1{$Pos}"  __designer:bind ="{ddwrt:DataBind('i',concat('ff1',$Pos),'Text','TextChanged','SysID',ddwrt:EscapeDelims(string(@SysID)),'@SupplierID')}"   />
            
< asp:DropDownList  runat ="server"  id ="DropDownList1"  DataTextField ="SupplierName"  DataSourceID ="SqlDataSourceSupplier0830"  DataValueField ="SysID"   />
                                    
< asp:SqlDataSource  runat ="server"  ID ="SqlDataSourceSupplier0830"  ConnectionString ="Data Source=rjdfmis\htsql2005;Initial Catalog=WZMis;Persist Security Info=True;User ID=sa;Password=htsql2005"  ProviderName ="System.Data.SqlClient"  SelectCommand ="SELECT [SysID], [SupplierName] FROM [Supplier]"   />
   
    用TextBox的id和__designer:bind相关的代码覆盖DropDownList的id的内容,然后删除TextBox;
< asp:DropDownList  runat ="server"  id ="ff1{$Pos}"  __designer:bind ="{ddwrt:DataBind('i',concat('ff1',$Pos),'Text','TextChanged','SysID',ddwrt:EscapeDelims(string(@SysID)),'@SupplierID')}"   DataTextField ="SupplierName"  DataSourceID ="SqlDataSourceSupplier0830"  DataValueField ="SysID"   />

    4、保存,然后在ie中打开这个页面;


    在下拉列表中选择Supplier,然后就可以将对应的SupplierID保存到数据库中了。

 

转载于:https://www.cnblogs.com/Ericzhen/archive/2007/08/30/876240.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值