软件开发工具 个人博客系统 公共模块设计.docx
《软件开发工具 个人博客系统 公共模块设计.docx》由会员分享,可在线阅读,更多相关《软件开发工具 个人博客系统 公共模块设计.docx(18页珍藏版)》请在冰点文库上搜索。
软件开发工具个人博客系统公共模块设计
淮海工学院计算机工程学院
实验报告书
课程名:
《软件开发工具》
题目:
公共模块设计
(基于vs2005)
班级:
^^
学号:
^^
姓名:
^^
一、目的与要求
根据自己的网站需求设计所需的公共类。
二、实验内容或题目
在编码阶段,首先要做的事就是要进行基础类和公共模块的设计。
一般情况下,我们把一些数据库操作的代码封装到公共类中,同时把共同的操作放到公共类中。
根据自己的网站的需求设计自己所需的公共类。
三、实验步骤与源程序
DataBase类:
///
///获取指定字段值
///
///SQL语句
///要获取的字段
///返回String
publicstringGetfield(stringsql,stringfield)
{
Open();
try
{
SqlCommandcmd=newSqlCommand(sql,Connection);
SqlDataReadersdr=cmd.ExecuteReader();
sdr.Read();
stringstr=sdr[field].ToString();
sdr.Close();
returnstr;
}
catch
{
return"获取信息失败!
";
}
finally
{
Close();
}
}
///
///执行SQL语句
///
///SQL语句
///bool值
publicboolexcutesqlstring(stringXSqlString)
{
Open();
try
{
SqlCommandCmd=newSqlCommand(XSqlString,Connection);
Cmd.ExecuteNonQuery();
returntrue;
}
catch
{
returnfalse;
}
finally
{
Close();
}
}
///
///带一个参数的通过调用存储过程获得int值
///
///存储过程名
///存储过程所需的参数
///
publicintRunProcGetCount(stringProcName,stringstr)
{
SqlCommandCmd=newSqlCommand(ProcName,Connection);
Cmd.CommandType=CommandType.StoredProcedure;
SqlParameter[]sp={
newSqlParameter("@name",SqlDbType.VarChar,20)
};
sp[0].Value=str;
foreach(SqlParametersinsp)
{
Cmd.Parameters.Add(s);
}
try
{
Open();
stringSCount;
SCount=Cmd.ExecuteScalar().ToString().Trim();
if(SCount=="")
SCount="0";
returnConvert.ToInt32(SCount);
}
catch
{
return0;
}
finally
{
Close();
}
}
SqlOperate类
///
///插入日志表
///
///
///
///
///
///
publicboolInsertArticle(stringtitle,stringcategory,stringcontent,stringprocname)
{
using(SqlConnectioncon=sqlconn)
{
SqlCommandcmd=newSqlCommand(procname,con);
cmd.CommandType=CommandType.StoredProcedure;
SqlParameter[]sp={
newSqlParameter("@title",SqlDbType.VarChar,50),
newSqlParameter("@category",SqlDbType.VarChar,20),
newSqlParameter("@content",SqlDbType.Text)
};
sp[0].Value=title;
sp[1].Value=category;
sp[2].Value=content;
foreach(SqlParametersinsp)
{
cmd.Parameters.Add(s);
}
try
{
con.Open();
cmd.ExecuteNonQuery();
returntrue;
}
catch
{
returnfalse;
}
finally
{
con.Close();
}
}
}
///
///插入相册
///
///
///
///
///
publicboolInsertAlbum(stringaname,stringdescription,stringprocname)
{
using(SqlConnectioncon=sqlconn)
{
SqlCommandcmd=newSqlCommand(procname,con);
cmd.CommandType=CommandType.StoredProcedure;
SqlParameter[]sp={
newSqlParameter("@name",SqlDbType.VarChar,20),
newSqlParameter("@description",SqlDbType.Text)
};
sp[0].Value=aname;
sp[1].Value=description;
foreach(SqlParametersinsp)
{
cmd.Parameters.Add(s);
}
try
{
con.Open();
cmd.ExecuteNonQuery();
returntrue;
}
catch
{
returnfalse;
}
finally
{
con.Close();
}
}
}
///
///插入留言
///
///
///
///
///
///
publicboolInsertMessage(stringmessage,stringwriter,stringprocname)
{
using(SqlConnectioncon=sqlconn)
{
SqlCommandcmd=newSqlCommand(procname,con);
cmd.CommandType=CommandType.StoredProcedure;
SqlParameter[]sp={
newSqlParameter("@message",SqlDbType.Text),
newSqlParameter("@writer",SqlDbType.VarChar,50)
};
sp[0].Value=message;
sp[1].Value=writer;
foreach(SqlParametersinsp)
{
cmd.Parameters.Add(s);
}
try
{
con.Open();
cmd.ExecuteNonQuery();
returntrue;
}
catch
{
returnfalse;
}
finally
{
con.Close();
}
}
}
///
///插入分类表
///
///
///
///
///
///
publicboolInsertCategory(stringcname,stringprocname)
{
using(SqlConnectioncon=sqlconn)
{
SqlCommandcmd=newSqlCommand(procname,con);
cmd.CommandType=CommandType.StoredProcedure;
//SqlParameter[]sp={
//newSqlParameter("@cname,SqlDbType.VarChar,20")};
//sp[0].Value=cname;
SqlParametersp=newSqlParameter("@cname",SqlDbType.VarChar,20);
sp.Value=cname;
cmd.Parameters.Add(sp);
try
{
con.Open();
cmd.ExecuteNonQuery();
returntrue;
}
catch
{
returnfalse;
}
finally
{
con.Close();
}
}
}
///
///插入相片
///
///
///
///
///
///
publicboolInsertPhoto(stringpname,stringalbumname,stringimagepath,stringprocname)
{
using(SqlConnectioncon=sqlconn)
{
SqlCommandcmd=newSqlCommand(procname,con);
cmd.CommandType=CommandType.StoredProcedure;
SqlParameter[]sp={
newSqlParameter("@pname",SqlDbType.VarChar,50),
newSqlParameter("@albumname",SqlDbType.VarChar,20),
newSqlParameter("@imagepath",SqlDbType.VarChar,200)
};
sp[0].Value=pname;
sp[1].Value=albumname;
sp[2].Value=imagepath;
foreach(SqlParametersinsp)
{
cmd.Parameters.Add(s);
}
try
{
con.Open();
cmd.ExecuteNonQuery();
returntrue;
}
catch
{
returnfalse;
}
finally
{
con.Close();
}
}
}
///
///插入用户信息
///
///
///
///
///
///
///
///
publicboolInsertUserInfo(stringunickname,stringsex,stringbirthday,stringuimage,stringuadress,stringprocname)
{
using(SqlConnectioncon=sqlconn)
{
SqlCommandcmd=newSqlCommand(procname,con);
cmd.CommandType=CommandType.StoredProcedure;
SqlParameter[]sp={
newSqlParameter("@unickname",SqlDbType.VarChar,50),
newSqlParameter("@sex",SqlDbType.Char,2),
newSqlParameter("@birthday",SqlDbType.VarChar,10),
newSqlParameter("@uimage",SqlDbType.VarChar,250),
newSqlParameter("@uadress",SqlDbType.VarChar,20)
};
sp[0].Value=unickname;
sp[1].Value=sex;
sp[2].Value=birthday;
sp[3].Value=uimage;
sp[4].Value=uadress;
foreach(SqlParametersinsp)
{
cmd.Parameters.Add(s);
}
try
{
con.Open();
cmd.ExecuteNonQuery();
returntrue;
}
catch
{
returnfalse;
}
finally
{
con.Close();
}
}
}
publicboolDeleteRecord(intval,stringsval,stringprocname)
{
using(SqlConnectioncon=sqlconn)
{
SqlCommandcmd=newSqlCommand(procname,con);
cmd.CommandType=CommandType.StoredProcedure;
SqlParameters=newSqlParameter(sval,SqlDbType.Int,4);
s.Value=val;
cmd.Parameters.Add(s);
con.Open();
try
{
cmd.ExecuteNonQuery();
returntrue;
}
catch
{
returnfalse;
}
finally
{
con.Close();
}
}
}
///
///更新相册数据
///
publicboolupdatephoto(intid,stringpname,stringalbumname,stringimagepath,stringprocname)
{
using(SqlConnectioncon=sqlconn)
{
SqlCommandcmd=newSqlCommand(procname,con);
cmd.CommandType=CommandType.StoredProcedure;
SqlParameter[]sp={
newSqlParameter("@id",SqlDbType.Int,4),
newSqlParameter("@pname",SqlDbType.VarChar,50),
newSqlParameter("@albumname",SqlDbType.VarChar,20),
newSqlParameter("@imagepath",SqlDbType.VarChar,200)
};
sp[0].Value=id;
sp[1].Value=pname;
sp[2].Value=albumname;
sp[3].Value=imagepath;
foreach(SqlParametersinsp)
{
cmd.Parameters.Add(s);
}
con.Open();
try
{
cmd.ExecuteNonQuery();
returntrue;
}
catch
{
returnfalse;
}
finally
{
con.Close();
}
}
}
///
///弹出对话框
///
///显示的值
publicvoidAlertShow(stringjs)
{
HttpContext.Current.Response.Write("");
}
四、结果分析与实验体会
公共类用的是参考老师给的,直接拉过来用的,然后在需要改时自己做一点修改。
其实还是有点感觉冗余,比如SqlOperate类中的一系列添加操作,其实完全可以用SQL语句来实现。