首页 > 编程语言 >基于JAVA客户关系管理系统的计算机毕设源码+论文

基于JAVA客户关系管理系统的计算机毕设源码+论文

时间:2024-09-18 11:24:05浏览次数:3  
标签:客户 毕设 JAVA rs request 信息 源码 sql tb


摘要

【摘要】

随着市场体系的日益完善,我们已经进入了一个买方市场时代。选择空间扩大、购买渠道拓宽、消费心态和购买行为越发成熟,使客户再不会对某一企业或者产品盲目地保持绝对忠诚,如何不断改善客户关系,掌据更多的客户信息,提高客户满意度;如何在日益激烈的市场竞争中把握机会,占有更大的市场份额;如何建立高效业务流程,降低运营成本,获取更多的利润,这些已成为每个企业怕面临的首要问题。这种情况下,企业要在激烈的市场竞争中立于不败之地,就必须找一种全新的管理理念和管理手段,对其内部和外部资源进行有效的整合。新一代一ERP产品正在向客户端和供应端延伸,客户端的延伸是客户关系管理,而供应端的延伸则是跨企业供应链的同步管理。对于每个企业来说客户管理的完善程度将直接影响企业的经济效益。


【关键词】 客户关系管理系统、库存管理、报表管理

目录

0  引言

1  系统分析

1.1  需求分析

1.2  可行性分析

2  总体设计

2.1  项目规划

2.2  系统功能结构图

3  系统设计

3.1  设计目标

3.2  开发及运行环境

3.3  数据库设计

4  客户管理模块设计

4.1  客户信息管理设计

4.2  联系人信息管理设计

4.3  合同信息管理

5  服务管理

5.1  反馈信息添加

5.2  反馈信息修改

6  报表管理

6.1  客户报表模块

6.2  联系人报表模块

附录A  参考文献

附录B  数据表


0  引言

信息时代的今天,各企业商家所关心的不再局限于自身的产品质量、生产设备、员工的素质,更多的是关心自己的销售群体(客户群),关心他们的想法、需求、购卖目的。

众所周知,顾客就是我们的上帝,我们只有满足了上帝的需求,上帝才能给我们带来一切。一个企业要生存、要发展,就是要不断的满足客户的需求,无论我们做出什么样的决策,最终都是为了这个的目。每个领域都有自身生存法则,但无论这个法则如何变化,为客户服务的宗旨是不会变的。作为企业,我们只有不断地挖掘新客户,维护好和老客户的关系,占领市场客户群体的绝大多数份额,才能在整个领域取得一席之地。海尔总裁张瑞敏指出:“客户资源决定企业核心竞争力”,上个世纪80年代是物品短缺的时代,而现在,信息时代是客户短缺的时代。企业发展所需的各种资源(包括人力、物力、生产力)都是可以创造的,但每个领域中的客户资源确是有限的,所以通过创新(产品的创新、企业管理的创新、服务的创新)来抢占有限的客户资源、维护好企业和客户之间的关系、了解客户的需求动向,成为企业生存发展面临的重大问题。

1  系统分析

1.1  需求分析

通过调查研究,要求系统满足有以下功能;

q 由于操作人员的计算机知识普遍较差,要求有良好的人机界面。

q 方便的数据选择查询,支持模糊查询功能。

q 管理客户的详细信息:包括客户的基本信息、联系人信息、和客户签写的合同信息。

q 记录产品出库、入库的详细信息。

q 为更多的了解客户的需求,设计了服务模块,用以记录客户的反馈信息,并对反馈信息进行管理。

q 和客户联系人之间通过邮件(e-mail)进行联系,对联系人邮件地址进行管理。

q 提供信息数据导出Excel报表的功能,提供报表的打印功能。

q 对用户信息进行管理,并为用户设置管理权限。

q 数据计算自动完成,尽量减少人工干预。

q 修改当前管理员密码的功能。

q 系统退出。

1.2  可行性分析

q 经济性

通过计算机网络对客户信息进行管理,使企业对自身拥有的客户有了一个更为深该的了解。不仅能全面的统计客户的购买数量,及时的了解客户的动态信息,还可以根据计算机记录的数据信息,不断的调整企业的生产发展动向。

q 技术性

系统中设置了email管理模块,此模块大大的方便了企业和客户联系人之间的沟通。设置导入Excel功能、Web打印功能,方便用户报表打印。

2  总体设计

2.1  项目规划

客户关系管理系统是一个典型的数据库开发应用程序,由客户管理模块、库存管理模块、服务管理模块、报表管理模块、email管理模块、用户管理模块组成,规划系统功能模块如下:

q 客户管理模块

该模块主要功能是对客户信息、客户联系人信息、合同信息进行添加、删除、查询等操作。

q 库存管理模块

该模块的主要功能是管理入库、出库信息、产品信息进行管理,其中包括对库存信息、产品信息进行添加、删除、查询等操作。

q 服务管理模块

该模块主要功能是对客户反馈信息进行添加、删除、查询等操作。

q 报表管理模块

该模块主要通过查询条件,对各种信息进行查询,并将得到的结果导出Excul表、进行打印报表等操作(其中信息包括:客户信息、联系人信息、反馈客户信息、库存信息)。

q email管理模块

该模块主要管理客户联系人email地址信息,对企业客户之间的email文件进行管理,向客户发送邮件。

q 用户管理

该模块主要管理用户信息的添加、删除等操作,并设置用户的使用权限。

2.2  系统功能结构图

基于JAVA客户关系管理系统的计算机毕设源码+论文_sql

图1  数据表树型结构图

3  系统设计

3.1  设计目标

本系统是针对中小型企业通过网络实现对客户的管理而设计的,主要实现如下目标:

q 对客户信息(客户基本信息、联系人信息、合同信息)进行全面管理。

q 及时查看库存信息,并通过网站对入库、出库信息进行管理。

q 强大的客户信息、联系人信息报表导出、打印功能

q 及时了解客户的反馈信息,并对其进行管理。

q 实现各种信息的选择查询、模糊查询功能等。

q 实现了和客户通过网络在线沟通的功能,并对客户联系人的email地址进行管理。

q 管理员可以添加操作员信息、设置操作员的权限。

q 对用户输入的数据,系统进行严格的数据检验,尽可能排除人为的错误。

q 要求系统的数据保密性强,通过为每个用户设置使用权限来实现。

q 系统运行稳定、安全可靠。

q 键盘操作,快速响应。

3.2  开发及运行环境

硬件平台:

q CPU:P41。8GHz;

q 内存:256MB以上。

软件平台:

q 操作系统:Windows xp/ Windows 2000/ Windows 2003;

q 数据库:SQL Server 2000;

q 浏览器:IE5.0,推荐使用IE6.0;

q Web服务器:IIS5.0;

q 分辨率:最佳效果1024*768。

3.3  数据库设计

本系统数据库采用SQLServer2000数据库,系统数据库名称为db_System。数据库db_ System中包含8张表。关于数据库中的数据表请参见附录B。

4  客户管理模块设计

客户管理模块的主要功能是对客户信息进行管理,主要包括客户信息管理、联系人信息管理和合同信息管理3个部分。

4.1  客户信息管理设计

客户信息管理设计主要包括对客户信息进行显示/查询、添加、修改和删除4个部分的功能。用户可以通过功能导航进入客户信息管理页面,页面设计效果如图3所示。

基于JAVA客户关系管理系统的计算机毕设源码+论文_数据_02

图3  客户信息管理页面的设计效果

在客户信息管理页面中,用户可以在查询区域输入查询条件,并选择查询方式,查找相关的客户信息;也可以单击客户信息,在展示区会显示此客户的详细信息,也可对客户信息进行修改;在选中每条信息前面的复选框,单击【删除】按钮,选中的客户信息将被删除。

1.客户信息显示/查询

用户可以在客户信息管理页面中的查询部分,输入一定的查询条件进行客户信息的查询。

当用户在查询部分输入条件后,并单击【查询】按钮,用户添加的查询条件将被提交给本页,本页将根据用户提交的表单信息对数据库进行检索,并将结果集通过操作区输出到浏览器中。

客户信息查询页面涉及的HTML表单元素如表1所示。

表1                      客户信息查询页面涉及的HTML表单元素

名称

类型

含义

重要属性

form1

Form

表单

method="post" action=""

post

hidden

判断表单是否提交

value="true"

tiao

select

查询类型

<option value="模糊查询" <%if request("tiao")="模糊查询" then%>selected<%end if%>>模糊查询</option>

<option value="精确查询" <%if request("tiao")="精确查询" then%>selected<%end if%>>精确查询</option>

sel

select

关键字类别

<option value="ClientName" <%if request("sel")="ClientName" then%>selected<%end if%>>客户名称</option>

……

<option value="ClientHabitude" <%if request("sel")="ClientHabitude" then%>selected<%end if%>>企业性质</option>

search

text

关键字

<input name="search" type="text" id="search" value="<%=request("search")%>">

Submit

submit

查询按钮

class="input" value=" 查 询 "

在表单提交之后,在本页将数据进行处理。程序代码如下:

<%

if request("post")<>"" then

if request("tiao")="模糊查询" then ‘条件输入为模糊查询时获得相应的记录集

set rs=server.CreateObject("adodb.recordset")

sql="select * from tb_Client where "&request("sel")&" like '%"&request("search")&"%' order by id desc"

rs.open sql,conn,1,1

else                              ‘条件输入为精确查询时获得相应的记录集

set rs=server.CreateObject("adodb.recordset")

sql="select * from tb_Client where "&request("sel")&"='"&request("search")&"' order by id desc"

rs.open sql,conn,1,1

end if

else                   ‘默认状态下获得相应的记录集

set rs=server.CreateObject("adodb.recordset")

sql="select * from tb_Client order by id desc"

rs.open sql,conn,1,1

end if

'实现分页

if not rs.eof then

tol=rs.recordcount             '总记录数

rs.pagesize=15                   '获取每页显示的记录数

maxpage=rs.pagecount             

requestpage=clng(request("p"))  '获取当前页

if requestpage="" or requestpage=0 then'当接收页码的值为空或者0时使其等于1

requestpage=1

end if

if requestpage>maxpage then'在接收页码的值大于最大页码时,使其等于最大页码

requestpage=maxpage

end if

if requestpage<>1 then'向上或向下移动相应的记录

rs.move (requestpage-1)*rs.pagesize

end if

for i=1 to rs.pagesize and not rs.eof '利用循环输出数据

if i mod 2=1 then

bg="#FFFFFF"

else

bg="#efefef"

end if

%>

          <tr align="center" bgcolor=<%=bg%> style="cursor: hand" onClick="window.parent.frames('bo').window.location = 'KeHu_ed.asp?id=<%=rs("id")%>'"onMouseOver="HLItem(this)" onm ouseOut="Re(this)">

            <td height="22"><%=rs("ClientName")%></td>

            <td><%=rs("ClientCountry")%></td>

            <td><%=rs("ClientCity")%></td>

            <td><%=rs("ClientTel")%></td>

            <td><%=rs("ClientEmail")%></td>

          </tr>

<%

rs.movenext

if rs.eof then exit for      ’如果记录集为空那么跳出循环

next

else

response.Write("没有客户信息,请<a href='KeHu_add.asp' target='bo'>添加</a>")

end if%>

当鼠标在某条记录上悬停时,其记录所在行的背景颜色会发生改变,此功能用到的js代码如下:

<script language="javascript">

function HLItem(obj)//鼠标经过

{

obj.oldClassName=obj.className;

obj.className="List";

}

function Re(obj)//鼠标移开

{

 obj.className=obj.oldClassName

}

</script>

其调用的代码如下:

<tr align="center" bgcolor=<%=bg%> style="cursor:hand" onClick="window.parent.frames('bo').window.location = 'KeHu_ed.asp?id=<%=rs("id")%>'" onm ouseOver="HLItem(this)" onm ouseOut="Re(this)">

客户信息显示/查询页面的运行结果如图4所示:

基于JAVA客户关系管理系统的计算机毕设源码+论文_信息管理_03

图4  客户信息查询页面的运行结果

2.客户信息添加

客户信息添加的主要功能是用于用户添加客户信息。在查询页面中单击【添加】按钮,在展示区中会显示添加页面,其设计效果如图5所示。

基于JAVA客户关系管理系统的计算机毕设源码+论文_sql_04

如图5 客户信息添加页面设计效果

当单击添加页面中的【添加】按钮时,调用js编写的自定义函数(checks()),通过函数验证填写的数据是否正确,该函数的代码如下:

<script language="javascript">

function checks()

{

 if(form1.ClientName.value=="")

{

alert("公司名称不能为空");

return false;

}

……//中间过程不详细介绍,因为实现方法类似

 else if(form1.ClientCyc.value=="")

{

alert("需求周期不能为空");

return false;

}

}

</script>

表单提交之后,添加的数据将被提交到本页进行处理,本页数据处理的程序代码如下:

<%

if request("post")<>"" then

set rs=server.CreateObject("adodb.recordset")

sql="select * from tb_Client"

rs.open sql,conn,1,3

rs.addnew

rs("ClientName")=request("ClientName")      ‘添加公司名称

rs("ClientAddress")=request("ClientAddress")   ‘公司地址

rs("ClientTel")=request("ClientTel")          ‘公司电话

rs("ClientFax")=request("ClientFax")          ‘公司传真

rs("ClientNumber")=request("ClientNumber")   ‘邮政编码

rs("ClientPage")=request("ClientPage")         ‘公司网址

rs("ClientEmail")=request("ClientEmail")       ‘公司email

rs("ClientCountry")=request("ClientCountry")   ‘所属国家/地区

rs("ClientHabitude")=request("ClientHabitude")  ‘公司性质

rs("ClientSize")=request("ClientSize")          ‘公司规模

rs("ClientCity")=request("ClientCity")          ‘所属城市

rs("ClientPay")=request("ClientPay")           ‘结款方式

rs("ClientCredit")=request("ClientCredit")       ‘结款信用

rs("ClientList")=request("ClientList")           ‘最高订单‘

rs("ClientYear")=request("ClientYear")          ‘年度订单

rs("ClientCyc")=request("ClientCyc")           ‘需求周期

rs("SetTime")=now()         ‘创建时间

rs("EditTime")=now()                        ‘修改时间

rs("SetName")=session("admin_name")          ‘创建人

rs.update

rs.close

conn.close

response.Write("<script language=javascript>alert('客户信息添加成功')</script>")‘弹出成功对话框

end if%>

3.客户信息修改

在显示客户详细信息页面,用户可以浏览、修改其客户的详细信息。进行客户详细信息浏览和修改的页面设计效果如图6所示:

基于JAVA客户关系管理系统的计算机毕设源码+论文_信息管理_05

图6  客户信息修改页面设计效果

在客户信息修改页面,用户可以浏览客户详细的信息,也可以修改客户的信息(当用户有修改的权限时,那么用户可以进行修改,至于用户权限的实现,将在后面的章节中进行讲解)。当用户单击【修改】按钮后,修改的数据将被提交到本页进行处理。数据处理的代码如下:

<%

  if request("post")<>"" and (rsr("Client")="可写" or rsr("chaoji")="是") then

set rs=server.CreateObject("adodb.recordset")

sql="select * from tb_Client where id="&request("id")

rs.open sql,conn,1,3

rs("ClientName")=request("ClientName")      ‘添加公司名称

rs("ClientAddress")=request("ClientAddress")   ‘公司地址

rs("ClientTel")=request("ClientTel")          ‘公司电话

rs("ClientFax")=request("ClientFax")          ‘公司传真

rs("ClientNumber")=request("ClientNumber")   ‘邮政编码

rs("ClientPage")=request("ClientPage")         ‘公司网址

rs("ClientEmail")=request("ClientEmail")       ‘公司email

rs("ClientCountry")=request("ClientCountry")   ‘所属国家/地区

rs("ClientHabitude")=request("ClientHabitude")  ‘公司性质

rs("ClientSize")=request("ClientSize")          ‘公司规模

rs("ClientCity")=request("ClientCity")          ‘所属城市

rs("ClientPay")=request("ClientPay")           ‘结款方式

rs("ClientCredit")=request("ClientCredit")       ‘结款信用

rs("ClientList")=request("ClientList")           ‘最高订单‘

rs("ClientYear")=request("ClientYear")          ‘年度订单

rs("ClientCyc")=request("ClientCyc")           ‘需求周期

rs("EditTime")=now()                        ‘修改时间

rs("SetName")=session("admin_name")          ‘创建人

rs.update

rs.close

response.Write("<script language=javascript>alert('客户信息修改成功')</script>")‘弹出成功对话框

end if

%>

4.客户信息删除

在客户信息管理页面,用户可以点选任意一条客户信息前面的复选框,然后单击页面下方的【删除】按钮,被选择的客户信息将被删除。

客户信息删除主要是根据传递的参数(本例中的参数为客户信息的id),将数据库中对应id的客户信息和其他和客户相关的信息全部删除,程序代码如下:

<%

call client'验证是否有删除客户信息的权限

if request("del")<>"" then

kid=Split(Request("del"),",") ‘分解字符串成数组

for i=0 to ubound(kid)

sqld="delete from tb_Client where id="&clng(kid(i))'删除客户信息

conn.execute(sqld)

sqll="delete from tb_Linkman where LinkmanClient="&clng(kid(i))'删除客户的联系人信息

conn.execute(sqll)

sqlp="delete from tb_Pact where PactClient="&clng(kid(i))'删除客户的合同信息

conn.execute(sqlp)

sqlp="delete from tb_Feedback where FeedbackClient="&clng(kid(i))'删除客户反馈信息

conn.execute(sqlp)

sqlp="delete from tb_Product where ProductProvider="&clng(kid(i))'删除客户的产品信息

conn.execute(sqlp)

next

if request("p")="" then'返回用户操作页

response.Redirect("KeHu_KeHu.asp")

else

response.Redirect("KeHu_KeHu.asp?p="&request("p"))

end if

else

response.Write("<script language=javascript>alert('请选择要删除的信息');location='javascript:history.go(-1)'</script>")

end if%>

4.2  联系人信息管理设计

联系人信息管理的主要功能包括显示/查询、添加、修改和删除联系人信息4个部分。用户可以通过功能导航进入联系人信息管理页面,页面设计效果如图7所示。

基于JAVA客户关系管理系统的计算机毕设源码+论文_数据_06

图7  联系人信息管理页面设计效果

1.联系人信息显示/查询

用户可以在联系人信息管理页面中的查询部分,输入一定的查询条件进行联系人信息的查询。

用户在查询部分输入条件后,单击【查询】按钮,用户添加的查询条件将被提交给本页,本页则将根据用户提交的表单信息对数据库进行检索,并将结果集通过操作区输出到浏览器中。

查询代码如下:

<%

if request("post")<>"" then

if request("tiao")="模糊查询" then’联系人模糊查询

set rs=server.CreateObject("adodb.recordset")

sql="select * from tb_Linkman where "&request("sel")&" like '%"&request("search")&"%' order by id desc"

rs.open sql,conn,1,1

else ‘联系人精确查询

set rs=server.CreateObject("adodb.recordset")

sql="select * from tb_Linkman where "&request("sel")&"='"&request("search")&"' order by id desc" 

rs.open sql,conn,1,1

end if

else’默认状态下显示联系人列表

set rs=server.CreateObject("adodb.recordset")

sql="select * from tb_Linkman order by id desc"

rs.open sql,conn,1,1

end if

%>

分页代码请参考4.1节中介绍的客户信息显示/查询中的相关代码。

也可在查看客户的详细信息中,单击“联系人信息”,就会产生此客户的联系人列表,传参代码如下:

<a href="KeHu_Linkman.asp?post=true&sel=LinkmanClient&search=<%=rsx("id")%>&dd=dd">联系人信息</a>

2.联系人信息添加

联系人信息添加的主要功能是添加客户的联系人信息。

在查询页面中单击【添加】按钮,在展示区中会显示添加页面。在添写表单选择所属客户时,所属客户是在数据库中直接读取出来的。其代码如下:

<%

set rsc=server.CreateObject("adodb.recordset")

sqlc="select * from tb_Client order by id desc"

rsc.open sqlc,conn,1,1

if not rsc.eof then

 %>

  <select name="LinkmanClient" id="LinkmanClient">

<%

for i=1 to rsc.recordcount and not rsc.eof

%>

        <option value="<%=rsc("id")%>"><%=rsc("ClientName")%></option>

<%

rsc.movenext

next%>

</select>

<%

else

response.Write("没有客户信息,请<a href='KeHu_add.asp' target='bo'>添加</a>")

end if%>

添加联系人页面的运行结果如图8所示。

基于JAVA客户关系管理系统的计算机毕设源码+论文_sql_07

图8  添加联系人的页面运行结果

也可在客户的详细信息中单击【新建】按钮,在此添加用户不用选择所属客户,直接就会生成所属客户,主要是根据传递的参数(本例中的参数为客户信息的id),传参代码如下:

<a href="KeHu_Linkman_addy.asp?id=<%=rsx("id")%>"><span class="style2">新建</span></a>

其显示代码如下:

<%

set rsc=server.CreateObject("adodb.recordset")

sqlc="select * from tb_Client where id="&request("id")&" order by id desc"

rsc.open sqlc,conn,1,1

response.Write(rsc("ClientName"))

%>

3.联系人信息修改

联系人信息修改的主要功能是用户修改联系人信息,方便用户和客户之间的联系和沟通。

在显示联系人详细信息页面,用户可以更改其联系人的信息。联系人信息修改页面运行结果如图9所示。

基于JAVA客户关系管理系统的计算机毕设源码+论文_数据_08

图9  联系人信息修改页面运行结果

4.联系人信息删除

联系人信息删除的主要功能是删除联系人的信息。,其程序代码如下:

<%

kid=Split(Request("del"),",") ‘分解字符串成数组

response.Write("正在删除...")

for i=0 to ubound(kid)

sqld="delete from tb_Linkman where id="&clng(kid(i)) ‘删除指定的记录

conn.execute(sqld)

next

%>

4.3  合同信息管理

合同信息管理设计主要包括显示/查询、添加、修改和删除合同信息4个部分。用户可以通过功能导航进入合同信息管理页面,页面设计效果如图10所示。

基于JAVA客户关系管理系统的计算机毕设源码+论文_信息管理_09

图10 合同信息管理页面的运行结果

1.合同信息显示/查询

用户可以在合同信息管理页面中的查询部分,输入一定的查询条件,进行合同信息的查询。

用户在查询部分输入查询条件后,单击【查询】按钮,用户所添加的查询条件将被提交给本页,本页将根据用户提交的表单信息对数据库进行检索,并将结果集通过操作区输出到浏览器中。

合同信息查询程序代码如下:

<%

if request("post")<>"" then

if request("tiao")="模糊查询" then‘模糊查询合同信息

set rs=server.CreateObject("adodb.recordset")

sql="select * from tb_Pact where "&request("sel")&" like '%"&request("search")&"%' order by id desc"

rs.open sql,conn,1,1

else’精确查询合同信息

set rs=server.CreateObject("adodb.recordset")

sql="select * from tb_Pact where "&request("sel")&"='"&request("search")&"' order by id desc"

rs.open sql,conn,1,1

end if

else’默认状态下显示的合同信息

set rs=server.CreateObject("adodb.recordset")

sql="select * from tb_Pact order by id desc"

rs.open sql,conn,1,1

end if

%>

合同信息显示/查询页面运行结果如图11所示。

基于JAVA客户关系管理系统的计算机毕设源码+论文_信息管理_10

图11  合同信息显示/查询页面运行结果

也可在查看客户的详细信息中,单击“合同信息”,就会产生此客户的合同列表,传参代码如下:

<a href="KeHu_Pact.asp?post=true&sel=PactClient&search=<%=rsx("id")%>&dd=dd" >合同信息</a>

2.合同信息添加

合同信息添加的主要功能是用户添加客户的合同信息。

在查询页面中单击【添加】按钮,在展示区中会显示添加页面,其运行结果如图17(上)所示;也可在客户的详细信息页面单击“新建”,在展示区中会显示添加页面,然后进行合同信息添加。合同信息添加页面的运行结果如图12(下)所示。

基于JAVA客户关系管理系统的计算机毕设源码+论文_数据_11

图12  合同信息添加页面运行结果

3.合同信息修改

合同信息修改的主要功能是用户修改合同信息。

在显示合同详细信息页面,用户可以更改其合同的信息。合同信息修改页面运行结果如图13所示。

基于JAVA客户关系管理系统的计算机毕设源码+论文_数据_12

图13  合同信息修改页面运行结果

4.合同信息的删除

合同信息删除的主要功能是删除合同信息,其代码如下:

<%

    kid=Split(Request("del"),",")

response.Write("正在删除...")

    for i=0 to ubound(kid)

sqld="delete from tb_Pact where id="&clng(kid(i))

conn.execute(sqld)

next

%>

5  服务管理

服务管理设计的主要功能包括反馈信息的显示/查询、添加、修改和删除4个部分。用户可以通过功能导航进入服务管理页面,页面设计效果如图20所示。

基于JAVA客户关系管理系统的计算机毕设源码+论文_数据_13

图20  服务管理页面的设计效果

5.1  反馈信息添加

反馈信息添加的主要功能是用户添加客户的反馈信息。在查询页面中单击【添加】按钮,在展示区中会显示添加页面。反馈信息添加页面的设计效果如图21所示。

基于JAVA客户关系管理系统的计算机毕设源码+论文_信息管理_14

图21  反馈信息添加页面的设计效果

反馈信息添加页面涉及的HTML表单元素如表3所示。

表3                      反馈信息信息添加页面涉及的HTML表单元素

名称

类型

含义

重要属性

form1

Form

表单

method="post" action=""

post

hidden

判断表单是否提交

value="true"

FeedbackTitle

text

反馈主题

class="in" size="30"

FeedbackFulfill

radio

是否完成

value="未完成" value="已完成"

year

select

<option value="<%=i%>"><%=i%></option>

month

select

<option value="<%=i%>"><%=i%></option>

day

select

<option value="<%=i%>"><%=i%></option>

FeedbackClient

select

相关客户

<option value="<%=rsc("id")%>">

<%=rsc("ClientName")%></option>

FeedbackContent

textarea

详细内容

cols="88" rows="4" class="table"

FeedbackResult

textarea

处理结果

cols="88" rows="4" class="table"

Submit

select

添加按钮

class="input" value=" 添 加 " onClick="return checks()"

表单提交之后,添加的数据将被提交到本页进行处理。数据处理的程序代码如下:

<%

call feedback

if request("post")<>"" then

set rs=server.CreateObject("adodb.recordset")

sql="select * from tb_Feedback"

rs.open sql,conn,1,3

rs.addnew'主要用于添加客户反馈信息的数据

rs("FeedbackTitle")=request("FeedbackTitle")

rs("FeedbackDate")=request("year")&"-"&request("month")&"-"&request("day")

rs("FeedbackClient")=request("FeedbackClient")

rs("FeedbackContent")=request("FeedbackContent")

rs("FeedbackResult")=request("FeedbackResult")

rs("FeedbackFulfill")=request("FeedbackFulfill")

rs("SetTime")=now()

rs("SetName")=session("admin_name")

rs.update

rs.close

response.Write("<script language=javascript>alert('反馈信息添加成功')</script>")

end if

%>

5.2  反馈信息修改

因为反馈信息是客户的反馈意见所以不得随意修改,用户只可以修改“处理结果”和“服务完成”两项信息。当服务完成选项,选中“已完成”时,那么任何信息都不可以修改,也就是说只有在服务“未完成”的情况下才能修改“处理结果”。

反馈信息页面设计效果如图22所示。

基于JAVA客户关系管理系统的计算机毕设源码+论文_数据_15

图22  反馈信息页面设计效果

反馈信息修改页面涉及的HTML表单元素如表4所示。

表4                      反馈信息信息修改页面涉及的HTML表单元素

名称

类型

含义

重要属性

form1

Form

表单

method="post" action=""

post

hidden

判断表单是否提交

value="true"

FeedbackTitle

text

反馈主题

value="<%=rsx("FeedbackTitle")%>" size="30" readonly="true"  class="in"

FeedbackFulfill

radio

是否完成

value="未完成" <%if rsx("FeedbackFulfill")="未完成" then%>checked <%end if%>

 value="已完成" <%if rsx("FeedbackFulfill")="已完成" then%>checked<%end if%>

FeedbackDate

text

value="<%=rsx("FeedbackDate")%>" size="30" readonly="true" class="in"

FeedbackClient

select

相关客户

value="<%=rsc("ClientName")%>" size="30" readonly="true"  class="in"

FeedbackContent

textarea

详细内容

cols="88" rows="4" class="table" readonly=true

FeedbackResult

textarea

处理结果

cols="88" rows="4" class="table" <%if rsx("FeedbackFulfill")="已完成" then%> readonly=true<%else%>onfocus=this.select(); onm ouseover=this.focus();<%end if%>

Submit

select

添加按钮

class="input" value=" 修 改 " onClick="return checks()"

在反馈信息修改页面,当用户单击【修改】按钮后,修改数据将被提交到本页进行处理,数据处理程序的代码如下:

<%

if request("post")<>"" then

set rs=server.CreateObject("adodb.recordset")

sql="select * from tb_Feedback where id="&request("id")

rs.open sql,conn,1,3

rs("FeedbackFulfill")=request("FeedbackFulfill")

rs("FeedbackResult")=request("FeedbackResult")

rs.update

rs.close

response.Write("<script language=javascript>alert('反馈信息修改成功');location='Feedback_ed.asp?id="&request("id")&"</script>")

end if

%>

7  报表管理

报表管理的主要功能是打印各种类型的报表,包括客户报表打印、联系人报表打印、反馈报表打印和库存报表打印4个部分。报表管理页面设计效果如图23所示。

基于JAVA客户关系管理系统的计算机毕设源码+论文_数据_16

图23  报表管理页面设计效果

7.1  客户报表模块

客户报表模块的主要功能包括客户报表查询、导入Excel和用web打印3个部分。

1.客户报表查询

客户报表查询页面涉及的HTML表单元素如表5所示。

表5                      客户报表查询页面涉及的HTML表单元素

名称

类型

含义

重要属性

form1

Form

表单

method="post" action=""

eeeet

Hidden

判断表单如何处理


ClientCountry

Select

国家/地区

<option value="<%=rsg("ClientCountry")%>">

<%=rsg("ClientCountry")%></option>

ClientCity

Select

城市

<option value="<%=rsc("ClientCity")%>">

<%=rsc("ClientCity")%></option>

SetName

Select

创建者

<option value="<%=rss("SetName")%>">

<%=rss("SetName")%></option

searchtype


类别

<option value="ClientName">公司名称</option>

……

<option value="ClientAddress">公司地址</option>

Submit

submit

导入Execul

class="input" value="导入Excul" onClick="form1.eeeet.value='excul'"

Submit

submit

直接打印

class="input" value="打印报表" onClick="form1.eeeet.value='print_c'"

用户可以在报表管理页面中的客户报表查询部分,输入查询条件,进行客户信息的查询。

2.导入Excel

当用户在查询部分输入条件,并单击【导入Excel】按钮后,用户添加的查询条件将被提交给数据处理页,处理页用select case判断隐藏域的值,进而确定怎样处理。

数据处理页对查询条件经过处理,产生相应的SQL查询语句,其代码如下:

<%

sql="id is not null"

if request("ClientCountry")<>"全部" then '国家/地区不为全部时

sql=sql&" and ClientCountry='"&request("ClientCountry")&"'"

end if

if request("ClientCity")<>"全部" then   '城市不为全部时

sql=sql&"  and ClientCity='"&request("ClientCity")&"'"

end if

if request("SetName")<>"全部" then     '客户名称不为全部时

sql=sql&" and SetName='"&request("SetName")&"'"

end if

if trim(request("search"))<>"" then    '当关键字不为空时

sql=sql&" and "&request("searchtype")&" like '%"&request("search")&"%'"

end if

sql="select ClientName,ClientCountry,ClientCity,ClientTel,ClientFax,ClientEmail from tb_Client where "&sql

response.Redirect("Table_print_Cd.asp?sql="&sql&"&tt=excul")'把参数传给下载页面

%>

当数据处理页处理完毕之后,会自动转向下载页,在下载页中单击左键,直接用web打开Excel, 右键单击“下载”选择“目标另存为...”把Excel保存在相应的路径下。处理Excel的页面代码如下:

<%

if request("tt")="excul" then          '当为客户报表查询时产生相应字段

a=array("公司名称","所在国家/地区","所在城市","公司电话","公司传真","E-mail")

elseif  request("tt")="excul_l" then    '当为联系人报表查询时产生相应字段

a=array("姓名","客户名称","部门","职务","电话","手机","E-mail")

elseif request("tt")="excul_k" then     '当为反馈客户报表查询时产生相应字段

a=array("客户名称","反馈日期","是否解决","反馈主题","反馈内容","处理结果")

elseif request("tt")="excul_kc" then    '当为库存报表查询时产生相应字段

a=array("客户编号","客户名称","产品数量","单位","库存类型")

end if

%>

<%response.ContentType="application/vnd.ms-excel"%>

<%

set rs=conn.execute(request("sql"))

%>

<table width="100"  border="1" cellspacing="0">

  <tr>

<%

for i=0 to rs.fields.count-1

%>

    <td align="center"><%=a(i)%></td>

<%next%>

  </tr>

<%do while not rs.eof%>

  <tr>

<%for i=0 to rs.fields.count-1%>

    <td align="center" class="table"><%=rs(i)%></td>

<%next%>

  </tr>

<%

rs.movenext

loop

rs.close

%>

报表下载页面的运行结果如图24所示。

基于JAVA客户关系管理系统的计算机毕设源码+论文_sql_17

图24  报表下载页面的运行结果

3.用web打印

用户在查询部分输入查询条件后,单击【打印报表】按钮,用户添加的查询条件将被提交给数据处理页,处理页用select case判断隐藏域的值,进而确定怎样处理。

数据处理页对查询条件经过处理,产生相应的SQL查询语句。程序代码如下:

<%

sql="id is not null"

if request("ClientCountry")<>"全部" then'国家/地区不为全部时

sql=sql&" and ClientCountry='"&request("ClientCountry")&"'"

end if

if request("ClientCity")<>"全部" then   '城市不为全部时

sql=sql&"  and ClientCity='"&request("ClientCity")&"'"

end if

if request("SetName")<>"全部" then      '客户名称不为全部时

sql=sql&" and SetName='"&request("SetName")&"'"

end if

if trim(request("search"))<>"" then     '当关键字不为空时

sql=sql&" and "&request("searchtype")&" like '%"&request("search")&"%'"

end if

sql="select * from tb_Client where "&sql

response.Redirect("Table_print_p.asp?sql="&sql)'把参数传给打印页面

%>

当数据处理页处理完毕之后,会自动转向打印页,打印页是一个框架集,包含三个页面。框架页代码如下:

<%

sql=request("sql")

if sql="" then

sql=session("sql")

end if

session("sql")=sql

show=request("show")

if show="" then

show=15

end if

p=request("p")

if p="" or p=0 then

p=1

end if

%>

<frameset rows="42,*" framespacing="0" frameborder="NO" border="0">

  <frame src="Table_print_top.asp?sql=<%=request("sql")%>&show=<%=show%>&p=<%=p%>" name="topFrame" frameborder="no" scrolling="NO" noresize>

  <frame src="Table_print.asp?sql=<%=request("sql")%>&show=<%=show%>&p=<%=p%>" name="mainFrame" frameborder="no">

</frameset><noframes></noframes>

</frames>

控制页面代码如下:

<%

sql=request("sql")'获取sql语句

if sql="" then

sql=session("sql")

end if

session("sql")=sql

show=request("show")

set rs=server.CreateObject("adodb.recordset")

sql=sql

rs.open sql,conn,1,1

if not rs.eof then

tol=rs.recordcount

rs.pagesize=show

maxpage=rs.pagecount

requestpage=clng(request("p"))

else

maxpage=0

tol=0

show=0

end if

%>

<table width="649"  border="0" align="center">

  <tr valign="middle">

    <form name="form1">

    <td width="14%" valign="middle">      

        <select name="menu1" onChange="MM_jumpMenu('parent',this,0)">

  <%for i=1 to 200%>

<option value="Table_print_p.asp?show=<%=i%>" <%if i=int(show) then%>selected<%end if%>>每页显示<%=i%>条记录</option>

<%next%>

      </select>    </td></form>

    <form name="form2">

    <td width="7%" valign="middle">  


        <select name="menu3" onChange="MM_jumpMenu('parent.mainFrame',this,0)">

  <%for i=1 to maxpage%>

<option value="Table_print.asp?p=<%=i%>&show=<%=show%>&sql=<%=request("sql")%>" >第<%=i%>页</option>

<%next%>   

        </select>      </td>

<td width="64%" height="23" valign="middle">        总页数:<%=maxpage%> 总条数:<%=tol%></td>

<td width="15%" align="right"><a href=javascript:parent.mainFrame.fcous;window.print();>打印</a></td>

      </form>

  </tr>

</table>

打印预览页面代码如下:

<%

sql=request("sql")

if request("sql")="" then

sql=session("sql")

end if

session("sql")=sql

show=request("show")

set rs=server.CreateObject("adodb.recordset")

sql=session("sql")

rs.open sql,conn,1,1

%>

<%

if not rs.eof then

tol=rs.recordcount

rs.pagesize=show

maxpage=rs.pagecount

requestpage=clng(request("p"))

if requestpage="" or requestpage=0 then

requestpage=1

end if

if requestpage>maxpage then

requestpage=maxpage

end if

if requestpage<>1 then

rs.move (requestpage-1)*rs.pagesize

end if

for i=1 to rs.pagesize and not rs.eof

%>

  <tr align="center">

    <td height="30"><%=rs("ClientName")%></td>

    <td><%=rs("ClientCountry")%></td>

    <td><%=rs("ClientCity")%></td>

    <td><%=rs("ClientTel")%></td>

    <td><%=rs("ClientFax")%></td>

    <td><%=rs("ClientEmail")%></td>

  </tr>

<%

rs.movenext

if rs.eof then exit for

next

else

response.Write("<span class='style2'>没有找到相关信息</span>")

end if

%>

客户报表打印页面运行结果如图25所示。

基于JAVA客户关系管理系统的计算机毕设源码+论文_sql_18

图25  客户报表打印页面的运行结果

7.2  联系人报表模块

1.联系报表查询

联系人报表查询页面涉及的HTML表单元素如表6所示。

表6                      联系人报表查询页面涉及的HTML表单元素

名称

类型

含义

重要属性

form1

Form

表单

method="post" action=""

eeeet

hidden

判断表单如何处理


LinkmanDept

select

国家/地区

<option value="<%=rsg("ClientCountry")%>">

<%=rsg("ClientCountry")%></option>

LinkmanDuty

select

城市

<option value="<%=rsc("ClientCity")%>">

<%=rsc("ClientCity")%></option>

select2

select

创建者

<option value="<%=rss("SetName")%>">

<%=rss("SetName")%></option

Submit

submit

导入Execul

class="input" value="导入Excul" onClick="form1.eeeet.value='excul'"

Submit

submit

直接打印

class="input" value="打印报表" onClick="form1.eeeet.value='print_c'"

用户可以在报表管理页面中的联系人报表查询部分,输入一定的查询条件,进行联系人信息的查询。

2.导入Excul

用户在查询部分输入查询条件后,单击【导入Excul】按钮,用户所添加的查询条件将被提交给数据处理页,处理页用select case判断隐藏域的值,进而确定怎样处理,传值的程序代码如下:

<%

sql="dbo.tb_Linkman.id is not null"

if request("LinkmanDept")<>"全部" then

sql=sql&" and dbo.tb_Linkman.LinkmanDept='"&request("LinkmanDept")&"'"

end if

if request("LinkmanDuty")<>"全部" then

sql=sql&"  and dbo.tb_Linkman.LinkmanDuty='"&request("LinkmanDuty")&"'"

end if

if request("select2")<>"全部" then

sql=sql&" and dbo.tb_Linkman.SetName='"&request("SetName")&"'"

end if

sql="SELECT dbo.tb_Linkman.LinkmanName, dbo.tb_Client.ClientName,dbo.tb_Linkman.LinkmanDept,dbo.tb_Linkman.LinkmanDuty,dbo.tb_Linkman.LinkmanTel, dbo.tb_Linkman.LinkmanHander, dbo.tb_Linkman.LinkmanEmail FROM dbo.tb_Client INNER JOIN dbo.tb_Linkman ON dbo.tb_Client.ID= dbo.tb_Linkman.LinkmanClient where "&sql

response.Redirect("Table_print_kh.asp?sql="&sql)

%>

由于查询和导入的实现方法和客户报表的实现方法相似,在此不再详细介绍,请读者参考7.1节中介绍的导入Excel的程序代码。

3.用web打印

用户在查询部分输入查询条件后,单击【打印报表】按钮,用户所添加的查询条件将被提交给数据处理页,处理页用select case判断隐藏域的值,进而确定怎样处理。传值程序代码如下:

<%

sql="dbo.tb_Linkman.id is not null"

if request("LinkmanDept")<>"全部" then

sql=sql&" and dbo.tb_Linkman.LinkmanDept='"&request("LinkmanDept")&"'"

end if

if request("LinkmanDuty")<>"全部" then

sql=sql&"  and dbo.tb_Linkman.LinkmanDuty='"&request("LinkmanDuty")&"'"

end if

if request("select2")<>"全部" then

sql=sql&" and dbo.tb_Linkman.SetName='"&request("SetName")&"'"

end if

sql="SELECT dbo.tb_Linkman.LinkmanName, dbo.tb_Client.ClientName,dbo.tb_Linkman.LinkmanDept, dbo.tb_Linkman.LinkmanDuty,dbo.tb_Linkman.LinkmanTel, dbo.tb_Linkman.LinkmanHander, dbo.tb_Linkman.LinkmanEmail FROM dbo.tb_Client INNER JOIN dbo.tb_Linkman ON dbo.tb_Client.ID= dbo.tb_Linkman.LinkmanClient where "&sql

response.Redirect("Table_print_Cd.asp?sql="&sql&"&tt=excul_l")%>

由于联系人查询和导入实现的方法和客户报表的实现的方法相似,在此不再详细介绍,请读者参考7.1节中介绍的用web打印的程序程序代码。

联系人报表页面运行结果如图26所示。

基于JAVA客户关系管理系统的计算机毕设源码+论文_sql_19

图26  联系人报表页面的运行结果

由于客户报表查询、联系人报表查询、反馈客户查询和库存报表查询实现的方法比较类似,在这里不再详细介绍,请参考7.1节和7.2节的相关内容。


附录A  参考文献

1.Visual Basic精彩编程200例 机械工业出版社 赛奎春、高春艳等  2003年1月

2.Visual Basic数据库开发实例解析 机械工业出版社 刘志铭、高春艳等 2003年8月

3.Visual FoxPro数据库开发实例解析 机械工业出版社 王晶莹、王国辉等 2003年9月

4.Power Builder数据库开发实例解析 机械工业出版社 华传铭、张振坤等 2003年9月

5.Delphi数据库开发实例解析 机械工业出版社 赛奎春、郑骁鹏等 2004年2月

6.PowerBuilder 精彩编程200例 机械工业出版社 张振坤、李文立等 2004年9月

7.Visual FoxPro 精彩编程200例 机械工业出版社 王国辉、董韶华等 2004年9月

8.ASP数据库开发实例解析 机械工业出版社 李严、于亚芳、王国辉 2004年12月

9.Delphi工程应用与项目实践 机械工业出版社 宋坤、赵智勇等 2005年1月

10.Visual Basic工程应用与项目实践 机械工业出版社 高春艳、李俊民等 2005年1月

11.Visual C++工程应用与项目实践 机械工业出版社 张雨、阮伟良等 5005年1月

12.JSP工程应用与项目实践 机械工业出版社 陈威、白伟明、李楠 2005年2月

13.ASP工程应用与项目实践 机械工业出版社 王国辉、牛强、李南南 2005年4月

14.Visual Basic 信息系统开发实例精选  机械工业出版社 高春艳、李俊民、张耀庭等

2005年7月

15.ASP 信息系统开发实例精选  机械工业出版社 王国辉、牛强、李南南等 2005年7月

16.Delphi 信息系统开发实例精选 机械工业出版社 宋坤、赵智勇、刘强等 2005年7月

17.Visual foxpro数据库开发关键技术与实例应用 人民邮电出版社 周桓、张雨、王国辉 2004年5月

18.PoweBuilder数据库开发关键技术与实例应用 人民邮电出版社 刘志铭 张振坤 冯文萃 2004年5月

19.Delphi数据库开发关键技术与实例应用 人民邮电出版社  赛奎春 陈紫鸿 宋昆

2004年5月

20.Visual basic数据库开发关键技术与实例应用 人民邮电出版社 高春艳、李艳

    2004年5月

21.Visual C++ 管理信息系统完整项目实例剖析 人民邮电出版社 明日科技 2005年7月

22.Visual Basic 管理信息系统完整项目实例剖析 人民邮电出版社 明日科技 

2005年7月

23.PowerBuilder 管理信息系统完整项目实例剖析 人民邮电出版社 明日科技 

2005年7月

24.Visual FoxPro管理信息系统完整项目实例剖析 人民邮电出版社 明日科技

    2005年7月

25.SQL Server数据库开发实例解析 机械工业出版社  宋昆、李严等  2006年1月

26.Access数据库开发实例解析  机械工业出版社  李俊民、高春燕等 2006年1月


附录B  数据表

(1)tb_Addresser(发件人信息表)

发件人信息表主要用于保存发件人信息。该数据表的结构如表B.1所示。

表B.1                               表tb_Addresser的结构

字段名

数据类型

长度

主键否

描述

id

int

4

自动编号

EmailName

varchar

50

发件人姓名

EmailPwd

varchar

50

发件人邮箱密码

Email

varchar

50

发件人email

SmtpEmail

varchar

50

企业邮局地址

(2)tb_Client(客户信息)

客户信息表主要用于保存客户信息信息。该数据表的结构如表B.2所示。

表B.2                               表tb_Client的结构

字段名

数据类型

长度

主键否

描述

ID

int

4

自动编号

ClientName

varchar

100

公司名称

ClientAddress

varchar

100

公司详细地址

ClientTel

varchar

20

公司电话

ClientFax

varchar

20

公司传真

ClientEmail

varchar

50

公司email

ClientNumber

varchar

10

邮政编码

ClientPage

varchar

50

公司网址

ClientHabitude

varchar

50

企业性质

ClientSize

varchar

10

公司

ClientCity

varchar

50

所在城市

ClientCredit

varchar

50

结款信用

ClientCountry

varchar

50

所属国家/地区

ClientPay

varchar

50

结款方式

ClientList

varchar

50

最高订单

ClientYear

varchar

10

年度订单

ClientCyc

varchar

10

需求周期

SetTime

varchar

20

创建时间

EditTime

varchar

20

修改时间

SetName

char

10

创建人

(3)tb_Feedback(反馈信息表)

反馈信息表主要用于保存客户的反馈信息。该数据表的结构如表B.3所示。

表B.3                               表tb_Feedback的结构

字段名

数据类型

长度

主键否

描述

id

int

4

自动编号

FeedbackTitle

varchar

50

反馈标题

FeedbackDate

varchar

50

反馈日期

FeedbackClient

varchar

50

反馈客户

FeedbackContent

varchar

2000

反馈内容

FeedbackFulfill

varchar

50

是否完成

FeedbackResult

varchar

2000

处理结果

SetTime

varchar

20

创建时间

SetName

varchar

50

创建人

(4)tb_Stockpile(库存记录表)

库存记录表主要用于保存库存记录信息。该数据表的结构如表B.4所示。

表B.4                                表tb_Stockpile的结构

字段名

数据类型

长度

主键否

描述

id

int

4

自动编号

StockpileProductName

varchar

50

产品编号

StockpileProductNumber

int

4

产品数量

StockpileType

varchar

50

库存类型

StockpileContent

varchar

50

库存说明

SetName

varchar

50

创建人

SetTime

varchar

20

创建时间

(5)tb_Pact(合同信息表)

合同信息表主要用于保存合同详细信息。该数据表的结构如表B.5所示。

表B.5                                 表tb_Pact的结构

字段名

数据类型

长度

主键否

描述

id

int

4

自动编号

PactClient

varchar

50

客户id

PactNumber

varchar

50

合同编号

PactDate

varchar

50

签定日期

PactMoney

varchar

50

签定日期

PactExecutor

varchar

100

执行人

PactSignatory

varchar

50

签单人

PactRemark

varchar

2000

备注

SetTime

varchar

20

创建时间

EditTime

varchar

20

修改时间

SetName

varchar

50

创建人

(6)tb_User(发件人信息表)

发件人信息表主要用于保存用户的信息。该数据表的结构如表B.6所示。

表B.6                                      表tb_User结构

字段名

数据类型

长度

主键否

描述

id

int

4

自动编号

username

varchar

50

用户名

userpwd

varchar

50

密码

Client

varchar

50

管理客户权限

Linkman

varchar

50

管理联系人权限

Pact

varchar

50

管理合同权限

Stockpile

varchar

50

管理库存权限

Feedback

varchar

50

服务管理权限

Forms

varchar

50

报表管理权限

Addresser

varchar

50

发件人管理权限

Email

varchar

50

email管理权限

users

varchar

50

管理用户权限

chaoji

varchar

50

超级用户权限

(7)tb_Addresser(发件人信息表)

发件人信息表主要用于保存发件人信息。该数据表的结构如表B.7所示。

表B.7                               表tb_Product结构

字段名

数据类型

长度

主键否

描述

id

int

4

自动编号

ProductNumber

varchar

50

产品编号

ProductName

varchar

50

产品名称

ProductUnit

varchar

50

单位

ProductProvider

varchar

50

供应商

ProductContent

varchar

2000

产品简介

SetName

varchar

50

操作用户

SetTime

varchar

20

操作时间

EditTime

varchar

20

修改时间

(8)tb_Addresser(发件人信息表)

发件人信息表主要用于保存发件人信息。该数据表的结构如表B.8所示。

表B.8                                表tb_linkman结构

字段名

数据类型

长度

主键否

描述

id

int

4

自动编号

LinkmanName

varchar

50

联系人姓名

LinkmanClient

varchar

100

所属客户

LinkmanLike

varchar

50

爱好

LinkmanFax

varchar

20

传真

LinkmanTel

varchar

20

电话

LinkmanHander

varchar

20

手机

LinkmanEmail

varchar

50

电子邮件

LinkmanDept

varchar

50

所属部门

LinkmanDuty

varchar

50

职位

LinkmanBirth

varchar

20

生日

LinkmanSex

varchar

2

性别

LinkmanMien

varchar

4

合作态度

Remark

varchar

2000

备注

SetTime

varchar

20

操作时间

EditTime

varchar

20

修改时间

SetName

varchar

50

操作员


标签:客户,毕设,JAVA,rs,request,信息,源码,sql,tb
From: https://blog.51cto.com/u_12508287/12044609

相关文章

  • SpringBoot+Neo4j+Vue+Es集成ES全文检索、Neo4J知识图谱、Activiti工作流的知识库管理
    在数字化高度普及的时代,企事业机关单位在日常工作中会产生大量的文档,例如医院制度汇编,企业知识共享库等。针对这些文档性的东西,手工纸质化去管理是非常消耗工作量的,并且纸质化查阅难,易损耗,所以电子化管理显得尤为重要。【springboot+elasticsearch+neo4j+vue+activiti】实现数......
  • 【计算机毕设-大数据方向】基于大数据的健康美食可视化系统设计与实现
    ......
  • 基于微信小程序的云上考场-计算机毕业设计源码+LW文档
    微信小程序现已成为人们日常生活中必不可少的应用小程序,我们的设计则是介于小程序上的云上考试及刷题系统,通过微信开发工具的和mysql数据库的实现完成,使用者可以在我们的小程序中找到自己需要的题库进行练习和模拟考试,题库我们将分为三大板块,1常规题目,2中级难度,3特难大题,所有刷题......
  • 在CentOS系统中如何配置Java开发环境环境变量的手把手操作流程
    以下是一份关于“在CentOS系统中如何配置Java开发环境环境变量”的手把手操作流程,由浅入深,先整体后分部:一、引言Java是一种广泛使用的编程语言,其跨平台特性使得它在不同操作系统上都能运行。为了在CentOS系统中进行Java开发,我们需要配置Java开发环境。本文将详细介绍如何......
  • 在Windows系统中如何配置Java开发环境环境变量&零基础手把手教程
    以下是一份关于“在Windows系统中如何配置Java开发环境环境变量”的手把手操作流程,由浅入深,先整体后分部:一、引言Java是一种广泛使用的编程语言,其跨平台特性使得它在不同操作系统上都能运行。为了在Windows系统中进行Java开发,我们需要配置Java开发环境。本文将详细介绍如......
  • Linux内核源码介绍-贡献Linux内核社区
    建议点击这里查看个人主页上的最新原文作者:陈孝松主页:chenxiaosong.com哔哩哔哩:陈孝松课程:chenxiaosong.com/courses博客:chenxiaosong.com/blog贡献:chenxiaosong.com/contributions邮箱:[email protected]交流群:544216206,点击查看群介绍点......
  • Java 11 新特性(JKD11)
    1.LocalVariableTypeInferenceJava11中引入了LocalVariableTypeInference,这使得Java语言可以更好地支持可变参数和lambda表达式。语法LocalVariableTypeInference的语法为:varmyVar=10;其中,myVar是变量名。实例以下是一个LocalVariableTypeInference示例......
  • Springboot基于BS的校园招聘网站u3o9e(程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、研究背景随着高等教育的普及和就业压力的增大,校园招聘成为大学生求职的重要途径。然而,传统招聘方式存在信息不对称、效率低下等问题,给学生和企......
  • Java 11 新特性(JKD11)
    1.LocalVariableTypeInferenceJava11中引入了LocalVariableTypeInference,这使得Java语言可以更好地支持可变参数和lambda表达式。语法LocalVariableTypeInference的语法为:varmyVar=10;其中,myVar是变量名。实例以下是一个LocalVariableTypeInference示例......
  • 基于微信小程序居住证申报系统-计算机毕业设计源码+LW文档
    .1题目背景  随着时代的发展,人口流动越来越频繁,离开常住户口所在地到外地工作生活的人越来越多,确保城市出租房内的租住人员和行业单位从业人员情况的准确性、真实性,是流动人口管理的一大难点,随之而来的就是大量的居住证申报,而居住证申报是一件很繁琐的事情,并且有很多人不了解......