在jsp(java)中如何显示数据库中所有的表

在jsp(java)中如何显示数据库中所有的表,第1张

显示mssqlserver所有表:

use mssqlserver

select from sysobjects

这个sysobjects是系统表,保存的是所有表的信息

取单个表所有字段信息的Sql语句:

declare @objid int,@objname char(40)

set @objname = 'Talbename'

select @objid = id from sysobjects where id = object_id(@objname)

select 'Column_name' = name from syscolumns where id = @objid order by colid

注意:Tablename是你要选择的表名

如果你要显示所有的表,并且每个表的结构的话,那需要写一个综合的存储过程,用一个循环就可以了

jsp先从数据库获取blob字段的值,然后通过流的方式读取,转换成string才可以展示的。

参考代码如下:

数据库中读取Blob类型数据后,要转换成String类型,即转换成InputStream,再从InputStream转成byte[],再到String即可。如下:

//把数据库中blob类型转换成String类型

public String convertBlobToString(Blob blob){

String result = "";

try {

ByteArrayInputStream msgContent =(ByteArrayInputStream) blobgetBinaryStream();

byte[] byte_data = new byte[msgContentavailable()];

msgContentread(byte_data, 0,byte_datalength);

result = new String(byte_data);

} catch (SQLException e) {

// TODO Auto-generated catch block

eprintStackTrace();

}

return result;

}

在OracleQueryBean类中增加一个函数,来进行读取,具体代码如下:

/

根据在数据库中的ID进行读取

@param strID 字段ID

@param w 需要缩到的宽度

@param h 需要缩到高度

@return

/

public byte[] GetImgByteById(String strID, int w, int h){

//Systemoutprintln("Get img data which id is " + nID);

if(myConnection == null)

thisgetConnection();

byte[] data = null;

try {

Statement stmt = myConnectioncreateStatement();

ResultSet myResultSet = stmtexecuteQuery("select " + thisstrIDName + " from " + thisstrTabName + " where " + thisstrIDName + "=" + strID);

StringBuffer myStringBuffer = new StringBuffer();

if (myResultSetnext()) {

javasqlBlob blob = myResultSetgetBlob(thisstrImgName);

InputStream inStream = blobgetBinaryStream();

try {

long nLen = bloblength();

int nSize = (int) nLen;

//Systemoutprintln("img data size is :" + nSize);

data = new byte[nSize];

inStreamread(data);

inStreamclose();

} catch (IOException e) {

Systemoutprintln("获取数据失败,原因:" + egetMessage());

}

data = ChangeImgSize(data, w, h);

}

Systemoutprintln(myStringBuffertoString());

myConnectioncommit();

myConnectionclose();

} catch (SQLException ex) {

Systemoutprintln(exgetMessage());

}

return data;

}

页面使用OracleQueryBean来根据用户提供的id进行查询,在读取并进行缩放后,通过jsp页面进行展示,具体代码如下:

<%@ page language="java" contentType="text/html;;charset=gbk" %>

<jsp:useBean id="OrcleQuery" scope="page" class="HLFtiDemoOracleQueryBean" />

<%

responsesetContentType("image/jpeg");

//在数据库中的 ID

String strID = requestgetParameter("id");

//要缩略或放大的宽度

String strWidth = requestgetParameter("w");

//要缩略或放大的高度

String strHeight = requestgetParameter("h");

byte[] data = null;

if(strID != null){

int nWith = IntegerparseInt(strWidth);

int nHeight = IntegerparseInt(strHeight);

//获取的byte数据

data = OrcleQueryGetImgByteById(strID, nWith, nHeight);

ServletOutputStream op = responsegetOutputStream();

opwrite(data, 0, datalength);

opclose();

op = null;

responseflushBuffer();

//清除输出流,防止释放时被捕获异常

outclear();

out = pageContextpushBody();

}

%>

以上就是关于在jsp(java)中如何显示数据库中所有的表全部的内容,包括:在jsp(java)中如何显示数据库中所有的表、jsp页面中如何将数据库中的blob字段转为String显示在页面上(java)、java提取数据库中blob类型的图片,如何全部显示在jsp页面等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10183116.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-06
下一篇2023-05-06

发表评论

登录后才能评论

评论列表(0条)

    保存