C#开发DotNetNuke初试(一)

资讯 驱动中国 若水 8,866 次阅读 0 条评论
分享 Q

     最近要开发一个项目,初定开发环境为DotNetNuke,从来没有用过这东东,一阵疯狂的研究,终于可以用C#做一个模块在环境中运行。但之后又决定弃用此工具,一阵郁闷。不过我发现网上的关于DotNetNuke环境下C#开发的文章不多,所以把我学的奉献给大家,虽然很多方面还处于搞不明白阶段,但是同舟共济,大家相互补充,也能给初学者一点启示。
不过第天工作忙,只能晚上写了,所以要分几篇来写,请大家担待。

       一,配制环境
我本人用的是DotNetNuke 04.05.03,之后安装了中文包。不过我想版本对开发的影响不大,所以大家如果是4点几的版本就可以试着开发。至于DotNetNuke的下载地址,从网上很容易就能搜索出来,这里就不再废话。开发工具是VS.NET2005,然后安装dotnetnuke starterKit,没有安装的大家可以去百度搜索下载一下,这都不是难题,这里就不再详细说明。数据库用的是SqlServer2000。
 
二,建数据脚本
本例子旨在演示一下怎么能够建立模块,所以功能上不会很强大。流程很简单,只要建一个文章表(Article),然后实现在其中添加文章。表中有五个字段,分别是
Id(唯一标识),Title(文章标题),Content(文章正文),CreateTime(文章发布时间),Author(文章作者)。我是在企业管理器中建表与存储过程,然后在数据库文件夹上右击==>所有任务==>生成Sql脚本来建立的数据脚本。大家可以手写脚本,也可以这样去做。脚本最终结果如下:
 
if exists (select * from dbo.sysobjects where id = object_id(N’{databaseOwner}[{objectQualifier}article]’) and OBJECTPROPERTY(id,N’IsUserTable’) = 1)
drop table {databaseOwner}[{objectQualifier}article]
GO
 

CREATE TABLE {databaseOwner}[{objectQualifier}article] (
    [Id] [int] IDENTITY (1, 1) NOT NULL ,
    [Title] [nvarchar] (100) COLLATE Chinese_PRC_CI_AS NULL ,
    [Content] [nvarchar] (4000) COLLATE Chinese_PRC_CI_AS NULL ,
    [CreateTime] [datetime] NULL ,
    [Author] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL 
) ON [PRIMARY]
GO


SET QUOTED_IDENTIFIER ON 
GO
SET ANSI_NULLS OFF 
GO


if exists (select * from dbo.sysobjects where id = object_id(N’{databaseOwner}{objectQualifier}F_ARTICLE_CREATE’) and OBJECTPROPERTY(id, 

N’IsProcedure’) = 1)
drop procedure {databaseOwner}{objectQualifier}F_ARTICLE_CREATE
GO

if exists (select * from dbo.sysobjects where id = object_id(N’{databaseOwner}{objectQualifier}F_ARTICLE_DELETE’) and OBJECTPROPERTY(id, 

N’IsProcedure’) = 1)
drop procedure {databaseOwner}{objectQualifier}F_ARTICLE_DELETE
GO

if exists (select * from dbo.sysobjects where id = object_id(N’{databaseOwner}{objectQualifier}F_ARTICLE_GETALL’) and OBJECTPROPERTY(id, 
N’IsProcedure’) = 1)
drop procedure {databaseOwner}{objectQualifier}F_ARTICLE_GETALL
GO
if exists (select * from dbo.sysobjects where id = object_id(N’{databaseOwner}{objectQualifier}F_ARTICLE_GETDETAILS’) and OBJECTPROPERTY(id, 
N’IsProcedure’) = 1)
drop procedure {databaseOwner}{objectQualifier}F_ARTICLE_GETDETAILS
GO
if exists (select * from dbo.sysobjects where id = object_id(N’{databaseOwner}{objectQualifier}F_ARTICLE_UPDATE’) and OBJECTPROPERTY(id, 
N’IsProcedure’) = 1)
drop procedure {databaseOwner}{objectQualifier}F_ARTICLE_UPDATE
GO

CREATE PROCEDURE {databaseOwner}{objectQualifier}F_ARTICLE_CREATE
@Title nvarchar(100),
@Content nvarchar(4000),
@CreateTime datetime,
@Author nvarchar(50)
  AS
INSERT INTO {objectQualifier}article(title,content,createtime,author)VALUES(@Title,@content,@CreateTime,@author)
GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON 
GO
SET QUOTED_IDENTIFIER ON 
GO
SET ANSI_NULLS OFF 
GO
CREATE PROCEDURE  {databaseOwner}{objectQualifier}F_ARTICLE_DELETE
@ID INT
 AS
DELETE FROM {databaseOwner}[{objectQualifier}article] WHERE [ID]=@ID
GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON 
GO
SET QUOTED_IDENTIFIER ON 
GO
SET ANSI_NULLS OFF 
GO
CREATE PROCEDURE {databaseOwner}{objectQualifier}F_ARTICLE_GETALL
AS
SELECT * FROM {databaseOwner}[{objectQualifier}article]
GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON  #p#分页标题#e#
GO
SET QUOTED_IDENTIFIER ON 
GO
SET ANSI_NULLS OFF 
GO
CREATE PROCEDURE {databaseOwner}{objectQualifier}F_ARTICLE_GETDETAILS
@ID int
 AS
SELECT * FROM {databaseOwner}[{objectQualifier}article] WHERE [ID]=@ID
GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON 
GO
SET QUOTED_IDENTIFIER ON 
GO
SET ANSI_NULLS OFF 
GO
CREATE PROCEDURE {databaseOwner}{objectQualifier}F_ARTICLE_UPDATE
@ID int,
@Title nvarchar(100),
@Content nvarchar(4000),
@CreateTime datetime,
@Author nvarchar(50)
 AS
UPDATE {databaseOwner}[{objectQualifier}article] SET Title=@Title,Content=@Content,CreateTime=@CreateTime,author=@Author
WHERE [ID]=@ID
GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON 
GO
      注意:如果是生成的脚本,要在存储过程名称和表名称前如上所示加上{databaseOwner}{objectQualifier}.  生成的脚本如果出现先建立存储过程后建表的现实,要把顺序更正,否则会出现错误。 脚本生成之后,要用正确的命名方式命名:01.00.00.SqlDataProvider(等下面谈到建立项目时模板会自动添加正确格式的数据脚本文件,把这些脚本复制粘贴过去即可)。
至此,数据库脚本建立完毕。
版权声明:本文由驱动中国整理发布,转载需注明出处与原文链接。如有疑问请联系 editor@qudong.com
本文价值 成为第一个评分的人
登录后为本文打分
网友评论0 条评论
正在回复 的评论取消
评论加载中…
🔐

登录后参与互动

评论、点赞均可赚积分
连续签到、邀请好友也有奖励 🎁

电脑端: 微信扫码登录 微信内: 一键登录

微信扫一扫

打开微信「扫一扫」,分享本文到朋友圈或好友