SQL Server的安装这里不详细介绍了,网上也有许多参考教程。不过有一个错误需要特别说明一下,本人在这折腾了好久 问题: 无法将类型为“System.__ComObject”的 COM 对象强制转换为接口类型“Microsoft.VisualStudio.OLE.Interop.IServiceProvider”。此操作失败的原因是对 IID 为“{6D5140C1-7436-11CE-8034-00AA006009FA}”的接口的 COM 组件调用 QueryInterface 因以下错误而失败: 不支持此接口 (异常来自 HRESULT:0x80004002 (E_NOINTERFACE))。 (Microsoft.VisualStudio.OLE.Interop) 解决: 错误原因应该和IE的ieproxy.dll文件有关,看了网上的解答,重装IE或许能解决,但我发现我卸载不了IE,最后从别人的电脑(同类型的机器)上拷贝了一份IE文件替换之后,问题解决了。 参考博客: 无法将类型为“System.__ComObject”的 COM 对象强制转换为接口类型“Microsoft.VisualStudio.OLE.Interop.IServiceProvider”。(https://blog.csdn.net/Shiney927/article/details/40535287) 由于上面的问题我把SQLServer重新安装了好几次,所以这里也附上卸载SQL Server的参考博客:卸载sqlserver2008,完全清除(https://blog.csdn.net/funi16/article/details/8687110)
3.sqljdbc4的安装
我安装的版本是jdbc4,下载之后直接把jdbc放在了Eclipse的项目文件夹里,之后在相应的文件夹下配置构建路径(JRE系统库右键选择即可),在添加外部JAR(X)…里打开jdbc即将其添加至引用的库里面了。 参考博客:配置eclipse通过JDBC连接SQl Server 2008R2数据库(https://blog.csdn.net/qinyf2015/article/details/54378070) java连接sql server 2008和连接sql server 2008(完整版):https://wenku.baidu.com/view/714fb2e319e8b8f67c1cb9d4.html 最后可以进行相应的测试,我的测试代码如下:
(1)教职工表 create table Staff(--创建教职工表 Sno NCHAR(10) primary key NOT NULL, Name VARCHAR(50) NOT NULL, Gender CHAR(2)CHECK(Gender IN('男','女')), Age INT NOT NULL, Education VARCHAR(50), Department VARCHAR(50) NOT NULL, Zhicheng VARCHAR(50) not null, Zhiwu VARCHAR(50) not null, Dno NCHAR(10) foreign key references Depart(Dno) ) (2)部门表 create table Depart(--创建部门表 Dno NCHAR(10) primary key NOT NULL, Department VARCHAR(50) NOT NULL, Num INT NOT NULL, Header VARCHAR(50) NOT NULL) (3)工资表 CREATE TABLE Wage(--创建工资表 Sno nchar(10) not null primary key foreign key references Staff(Sno), Basewage decimal, Addwage decimal, Reducewage decimal, Shouldwage decimal, Realwage decimal, Datewage date, Flag int ) alter table Wage add Taxwage decimal--修改工资表,添加一列个人所得税 alter table Wage add constraint c1 check(Shouldwage=Basewage+Addwage-Reducewage); alter table Wage add constraint c2 check(Flag in(0,1)); alter table Wage add constraint c3 check(Realwage between 0 and Shouldwage); alter table Wage add constraint c4 check(Realwage=Basewage+Addwage-Reducewage-Taxwage); (4)用户登录表 create table UserPwd(--创建用户登录表 Sno NCHAR(10) primary key NOT NULL, Pwd NCHAR(10) NOT NULL) (5)管理员登录表 create table AdminPwd(--创建管理员登录表 Sno NCHAR(10) primary key NOT NULL, Pwd NCHAR(10) NOT NULL) **创建存储过程来统计某一个月应发的工资总和,这里以2019年12月份为例** use [SalarySystem] --创建存储过程统计实发工资总和 go create procedure Sum_Realwage @Realsalary decimal output as select SUM(Realwage) as Sumrealwage from dbo.Wage where '2019-12-01'<=Datewage and Datewage<='2019-12-31' go declare @sum decimal--声明输出参数并执行存储过程 exec Sum_Realwage @sum output print @sum **创建触发器** (1)工作表的插入、修改触发器(当往教职工工资项目表中插入记录或更新记录时,自动修改该职工的应发工资数和实发工资数) create trigger wage_insert_update on Wage for insert,update as begin update Wage set Shouldwage=Basewage+Addwage-Reducewage,Realwage=Basewage+Addwage-Reducewage-Taxwage where Sno in(select Sno from inserted) end; (2)教职工插入、删除触发器(当向教职工表里删除或增加一个员工时,部门表对应的部门人数相应变化) create trigger delete_staff --从教职工表Staff里删除教职工,部门表Depart里的部门人数减1 on Staff after delete as begin update Depart set Num=Num-1 where Dno in(select Dno from deleted) end; create trigger insert_staff --向教职工表里增加教职工,部门表Depart里的部门人数加1 on Staff after insert as begin update Depart set Num=Num+1 where Dno in(select Dno from inserted) end;
【1】官网下载JDK1.7的方法和步骤https://blog.csdn.net/liu59412/article/details/82353392 【2】无法将类型为“System.__ComObject”的 COM 对象强制转换为接口类型“Microsoft.VisualStudio.OLE.Interop.IServiceProvider”https://blog.csdn.net/Shiney927/article/details/40535287 【3】卸载sqlserver2008,完全清除https://blog.csdn.net/funi16/article/details/8687110 【4】配置eclipse通过JDBC连接SQl Server 2008R2数据库(https://blog.csdn.net/qinyf2015/article/details/54378070) 【5】java连接sql server 2008和连接sql server 2008(完整版):https://wenku.baidu.com/view/714fb2e319e8b8f67c1cb9d4.html