java数据库面试题集.docx

上传人:b****1 文档编号:10307858 上传时间:2023-05-25 格式:DOCX 页数:17 大小:99KB
下载 相关 举报
java数据库面试题集.docx_第1页
第1页 / 共17页
java数据库面试题集.docx_第2页
第2页 / 共17页
java数据库面试题集.docx_第3页
第3页 / 共17页
java数据库面试题集.docx_第4页
第4页 / 共17页
java数据库面试题集.docx_第5页
第5页 / 共17页
java数据库面试题集.docx_第6页
第6页 / 共17页
java数据库面试题集.docx_第7页
第7页 / 共17页
java数据库面试题集.docx_第8页
第8页 / 共17页
java数据库面试题集.docx_第9页
第9页 / 共17页
java数据库面试题集.docx_第10页
第10页 / 共17页
java数据库面试题集.docx_第11页
第11页 / 共17页
java数据库面试题集.docx_第12页
第12页 / 共17页
java数据库面试题集.docx_第13页
第13页 / 共17页
java数据库面试题集.docx_第14页
第14页 / 共17页
java数据库面试题集.docx_第15页
第15页 / 共17页
java数据库面试题集.docx_第16页
第16页 / 共17页
java数据库面试题集.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

java数据库面试题集.docx

《java数据库面试题集.docx》由会员分享,可在线阅读,更多相关《java数据库面试题集.docx(17页珍藏版)》请在冰点文库上搜索。

java数据库面试题集.docx

java数据库面试题集

 

1、

2、

请写出SQL语句计算今天距离2005元旦的分钟数。

答案:

selectdatedif(minute,'01/01/2005',getdate())asminutes

请一句SQL写出:

如果person(personname,deptname)表中没有财务部"的张三",那么请增加该人员。

setnocounton

ifEXISTS(select*frompersonwherepersonname='张三'anddepartname='财务咅B')

begin

raiserror('(%s)的记录已经!

',16,1,'财务部的张三')

return

end

begintransaction

insertperson(personname,departname)valuesC张三','财务部')

if@@ROWCOUNT<>1gotoErrorcommittransactionreturn--提前返回

--错误处理

Error:

rollback

raiserror('添加失败',16,1)

答案二:

ifnotEXISTS(select*frompersonwherepersonname='张三'anddeptname='财务部')

insertintoperson(personname,deptname)values('张三','财务咅B')

请取出表test(ididentity(int,1,1))的第三条记录。

Selecttop1*from(selecttop3*fromtestorderbyiddesc)temp

Row

Val

1

101

1

102

2

1

有表

3、

test

请写SQL语句将表test的内容显示为下边内容

Row

Val

1

101

1

102

2

101

2

102

答案:

select

a.row,a.val

left

join

testasb

on

union

select

a.row,b.val

from

left

join

testasb

on

fromtestasa

 

4、计算库存结余

test

Inv

inouttype

Iquantity

001

in

300

001

out

200

002

in

50

答案:

selectsum(casewheninouttype='in'theniquantityelse-iquantityend)as结余金额

fromtest3

6•请将表test

Cus

inv

Money

北京

苹果

100

北京

李子

200

上海

苹果

400

转变成

Cus

苹果

李子

北京

100

200

上海

400

0

答案:

declare@sqlvarchar(8000)

set@sql='selectcus'

select@sql=@sql+',sum(caseinvwhen'''+inv+'''thenmoneyelse0end)['+inv+

']'

from(selectdistinctinvfromtest2)asaset@sql=@sql+'fromtest2groupbycus'exec(@sql)

更好的答案。

7.有表test

 

Personcode

Personname

001

Anny

002

Liszt

003

Devy

写一个过程

createproceduregetselperson(@svarchar(200))begin

end;

IFEXISTS(SELECTnameFROMsysobjects

WHEREname='getseIperson'ANDtype='P')

DROPPROCEDUREgetseIperson

GO

CREATEPROCEDUREgetselperson(@@Personcode1varchar(200)='001',@@Personcode2varchar(200)='002')AS

SETNOCOUNTONbeginTRANSACTIONSELECT*

FROMtest7

WHEREPersoncodeLIKE@@Personcode1

or

PersoncodeLIKE@@Personcode2

IF@@ROWCOUNT<>2

GOTOlblError

COMMITTRANSACTION

RETURN

lblError:

ROLLBACK

RAISERROR('失败!

',16,1)

传入参数'01,002返回表

Iid

personcode

Personname

1

001

Anny

2

002

liszt

&请写SQL语句更新表test中issingle

person

Friend

Issingle

 

anny

Liszt

Null

Liszt

Anny

Null

devy

Keven

Null

更新后的结果是:

 

Person

Friend

Issingle

Anny

Liszt

0

Liszt

Anny

0

Devy

Keven

1

答案:

UPDATEtestSETIssingle=1wherePerson=Devy;

UPDATEtestSETIssingle=0wherePerson<>Devy;

 

9.请写SQL语句将下表test

person

ttime

lotype

001

8:

00

1

001

12:

00

2

001

13:

00

1

001

17:

00

2

002

8:

00

1

002

12:

00

2

 

转换成表

Wpid

person

in

Out

1

001

8:

00

12:

00

2

001

13:

00

17:

00

3

002

8:

00

12:

00

selectidentity(int,1,1)aswpid‘person,[in]=max(casewheniotype=1thenttimeelsenullend),

[out]=max(casewheniotype=2thenttimeelsenullend)

into#from(select*,casewhendatepart(hh,cast('2001-01-01'+ttimeasdatetime))>12then1else

0endas[type]

fromtest)agroupbyperson,type

10.有表test

Personcode

ttime

lotype

001

8:

00

1

001

8:

05

1

001

12:

00

2

请写SQL语句将两行IOTYPE相同,时间间隔不足10分钟的第二条记录提取出来。

答案:

SELECT*FROM(SELECT*ASaFROMtest,SELECT*ASbFROMtest)WHEREa.Iotype=b.IotypeANDa.time-b.time<10

附加题(如有余力,可以做):

11.将表TEST

SEQ

1

100

1

2

120

1

3

130

1

4

60

-1

5

90

-1

 

转换成表

Seq

qty

Left

1

100

0

2

120

70

3

130

 

ID

FATHER

CHIELD

1

A

A1

2

A

A2

3

A

B

4

B

B1

5

B

B2

转成表

COLDE

CLASS

ISEND

A

1

0

B

2

0

A1

2

1

A2

2

1

B1

3

1

B2

3

1

有表TEST

12.

 

JAVA部分

1、请解释下什么是HTML

HTML既HypertextMarkedLanguage,即超文本标记语言,是一种用来制做超文本文档的简单标记语言。

文挡,它能独立于各种操作系统平台(如

用HTML编写的超文本文挡称为html

unix,windows,linux等);

影视等内容,因为它可以从一个文件跳转还可以与其他动态脚本语言结合创造动态的网

所谓超文本,因为它可以加入图片,声音,动画,到另一个文件,与世界各地主机的文件连接,页。

HTML只不过是组合成一个文本文件的一系列标签。

2、JAVA和JAVASCRIPT有什么关系

Java是sun公司推出的面向对象的编程语言,它是一种通过解释方式来执行的语言,语法规则和C++类似,同时它也是一种跨平台的程序设计语言。

它主要面向应用软件方面。

javaScript是一种嵌入到HTML语言中的一种脚本语言,他和java没关系。

3、JAVA的编译命令是什么

javac

4、请就JSP和ASP做个简要的对比分析

web应用实现动态交互网页制作

jsp和asp在技术方面有许多相似之处,两者都是为基于提供的技术环境支持。

jsp和asp也用许多的不同点,jsp技术基于平台和服务器独立的,输入支持来自广泛的,专门的,各种工具包,服务器的组件和数据库产品开发商所提供。

相比之下,ASP技术主要

依赖微软的技术支持,jsp可运行在绝大多数的流行平台,包括solari操作系统微软的视窗系统,windows,Linux,及其他UNIX系列平台产品,asp只能运行到windows上。

asp静态代码和动态代码混合在一起,

jsp可重用行比较好,静态代码和动态代码分离,而可维护性,可重用性不好。

Jsp的脚本语言是java,而asp的脚本语言是vbscript或jscript。

Java是成熟的,强大的,易扩充的编程语言。

5、请区分下JSP,SERVLET,JAVAAPPLET

JSP主要关注于HTML(或者XML)与Java代码的结合,以及加入其中的JSP标记。

如果

servlet。

一个支持JSP的服务器遇到一个JSP页面,它首先查看该页面是否被编译成为一个由此可见,JSP被编译成servlet,即被转变为纯Java,然后被装载入服务器执行。

当然,这一过程,根据不同的JSP引擎而略有不同。

SUN首先发展出SERVLET,其功能比较强劲,体系设计也很先进,只是,它输出HTML

语句还是采用了老的CGI方式,是一句一句输出,所以,编写和修改HTML非常不方便。

所以后来出现了jsp技术,方便了用户的web程序的开发。

Servlet也是一个特殊的java类。

“Apple(t小”应用程序),用编译器将它编译成类文件后,将它存在WWW页面中,并在HTML档上作好相应标记,用户端只要装上Java的客户软件就可以在网上直接运行“Applet”

6、简要介绍下TOMCAT和IIS的区别

Tomcat是一种servlet的解释器,主要用来作为用java,jsp,javabean,servlet开发的web程序。

IIS是微软开发的网页服务器,主要用来解析用asp,-net开发的web动态程序及静态网页。

7、如何把整形1转换成字符串,又如何把字符串001转换成整数呢?

classStr{

publicstaticvoidmain(String[]args){

inti=1;

System.out.println(String.valueOf(i));

Stringstr="001";

System.out.println(Integer.parseInt(str));

}

}

8、请取出字符串【001计算机】中的“计算机”

classStr{

publicstaticvoidmain(String[]args){

Stringstr="001计算机";

System.out.println(str.substring(3));

}

}

9、请将字符串a,b,c,d转成一维数组

publicclasstest{

publicstaticvoidmain(String[]args){

Stringstr1="a,b,c,d";

charstr[]=str.toCharArray();

for(inti=0;i

System.out.println(str1[i]);

}

}

}

10、d=d2.getTime()-d1.getTime();

d/(1000*60*60*24);

publicstaticvoidmain(Stringargs[]){

//System.out.println(getT(DateFormat.getDateInstance().format(newDate//

()),DateFormat.getDateInstance().format(newDate(2008,8,8))));

System.out.println(getT(newDate(2007,11,25),newDate(2008,8,8)));

//System.out.println(DateFormat.getDateInstance().format(newDate()));

}

}

请写出将你所在地的邮政编码转换成请举例说明session如何存取变量我做的书城中曾用到的:

session存储变量:

我的书城中曾用到的javascript实现页面跳转:

alert(“

录”;window.location.href=7bookshop/admin/login.jsp';

16、请做一个页面框架(FRAMESET)的例子

我的书城中曾用到的:

<%@pagelanguage="java"pageEncoding="gb2312"%>

<%@pagecontentType="text/html;charset=gb2312"%>

includepage="safe.jsp"/>

网店后台管理

if(top!

=self)top.location.href="index.jsp";

</p><p><bodytopmargin="0"leftmargin="0"></p><p><p>此网页使用了框架,但您的浏览器不支持框架。</p></p><p></body></p><p>

17、JSP如何连接SQLSERVER,请写个示例

我平时做的一个小例子:

publicclassUseExecuteQuery{

/**

*@paramargs

*/

publicstaticvoidmain(String[]args){

Stringurl="jdbc:

microsoft:

sqlserver:

//localhost:

1433;DataBaseName=jsp_test";

StringuserName="sa";

Stringpassword="";

Stringsql=null;

Connectionconn=null;

Statementstmt=null;

try{//第一步:

加载驱动器Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");

System.out.println("加载成功");

}catch(ClassNotFoundExceptione){

System.out.print("ClassNotFoundException");

System.out.print("加载驱动器类时出现异常");

}

try{

//第二步:

调用DriverManager.getConnection静态方法得到数据库连接

conn=DriverManager.getConnection(url,userName,password);System.out.println("连接成功");

//创建statementstmt=conn.createStatement();

sql="select*fromstudentwherestu_id='12'";//sql="INSERTINTOstudent(stu_id,name,address,birthdate,age)"+"VALUES('12','zhangjun','shanghai','1984/07/01','23')

H.

//stmt.executeUpdate("deletefromstudentwherestu_id='12'");

ResultSetrs=stmt.executeQuery(sql);

//System.out.println("Insertarowsuccessful");while(rs.next()){

Stringid=rs.getString

(1);

Stringname=rs.getString

(2);

Stringaddress=rs.getString(3);

System.out.println(id+""+name+""+address);

}

rs.close();

stmt.close();

}catch(SQLExceptione){

System.out.println(e.getMessage());

System.out.println("出现sqlException异常");}finally{

try{

System.out.println("关闭数据库的连接");//关闭语句和数据库连接//stmt.close();if(conn!

=null)conn.close();

}catch(SQLExceptione){

System.out.println("CloseSQLException");

System.out.println("关闭数据库连接时出现异常");

数据库连接也可通过连接池。

18、请写一个BEAN,显示当前日期和时间

importjava.util.*;

importjava.text.*;

classstr{

publicvoiddisplayDate(){

System.out.println(DateFormat.getDateInstance().format(newDate()));}

}

publicclassTest{

publicstaticvoidmain(Stringargs[]){

strs=newstr();

s.displayDate();

}

}

19、请介绍下你对STRUTS的认识

Struts为用户输入验证,错误处理和报告,流程控制等提供了一个可扩展的基础设施,它允许具有不同技能的开发人员,web设计员,系统分析员,系统工程师,数据库工程师都能并行的工作。

它对做不同事情的代码块进行单独组织,并且使他们之间以某种标准方式通信。

Struts能帮助我尽可能容易的达到MVC境界。

因为struts基于servlet技术,所有处理都是通过servlet完成的,所有提交到struts应用的表单数据都要被一个主servlet即一个ActionServlet实例所截取,该servlet是struts的一部分。

除此之外,ActionServlet和其他助手类还进行一些幕后的工作。

比如池化Action子类以提高效率,读取配置数据。

这些活动对struts开发人员都是不可见的,但理解会更好。

提交进入的表单数据会被这样的处理:

数据传输:

表单数据被传输到ActionForm子类,并进行一些简单的验证。

表单数据接下来被传输到Action子类进行复杂的验证,并进行业务逻辑处理。

但Action并不做任何真正的业务处理和数据访问的工作,这主要有模型类进行处理,Action只是做控制流程和适当的时间和位置调用和页面的流向的工作。

 

20、

如何在页面不刷新的情况下,产生一个随机的

GUID值?

 

importja

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2