📄 execsql.jsp
字号:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*" %>
<%-- 定义常用函数 --%>
<%!
// 得到一个数据库的连接
Connection getConnection() throws SQLException
{
// 定义驱动程序
String DBDRIVER = "oracle.jdbc.driver.OracleDriver";
// 定义连接字符串
String CONNSTR = "jdbc:oracle:oci8:scott/tiger@test";
try
{
Class.forName( DBDRIVER );
}
catch ( ClassNotFoundException ex )
{
ex.printStackTrace( System.err );
}
return DriverManager.getConnection( CONNSTR );
}
// 判断一个字符串是否为空
boolean isEmptyString( String str )
{
return str==null || str.length()==0 || str.trim().length()==0;
}
%>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=gb2312">
<title>WEB数据库维护系统</title>
<style>
TD,INPUT,SELECT {FONT-SIZE: 12px}
</style>
<script language="javascript">
function checkvalue()
{
if( document.forms["main"].sql.value.length==0 )
{
alert( "请输入要执行的SQL语句!" );
document.forms["main"].sql.focus();
return false;
}
return true;
}
</script>
</head>
<body>
<center>
WEB数据库维护系统
<p>
<!-- 显示输入框,供用户输入需要执行的SQL语句 -->
<table width="80%" border="0">
<tr>
<td>请输入您要执行的SQL语句:</td>
</tr>
<tr>
<form name="main" method="post" action="execsql.jsp" onsubmit="return checkvalue();">
<td>
<textarea name=sql cols=80 rows=15></textarea>
</td>
<td valign="bottom">
<input type="submit" value="执行" />
</td>
</form>
</tr>
</table>
<hr>
<%-- 接收用户的输入,显示查询的结果 --%>
<%
// 获得用户输入的SQL语句
String sql = request.getParameter( "sql" );
if( !isEmptyString( sql) )
{
out.println( "您所执行的SQL语句为:" + sql + "<br>" );
Connection conn = null;
Statement st = null;
ResultSet rs = null;
try
{
conn = getConnection();
st = conn.createStatement();
if( st.execute( sql ) )
{
// 执行结果为ResultSet
rs = st.getResultSet();
// 得到ResultSet的描述信息
ResultSetMetaData rsmd = rs.getMetaData();
// // 得到ResultSet的列数目
int nColumnCount = rsmd.getColumnCount();
out.println( "您的查询结果为:<br>" );
out.println( "<table width=\"90%\" border=\"1\">" );
out.println( "<tr>" );
for( int i=1; i<=nColumnCount; i++ )
{
out.println( "<td><b>" + rsmd.getColumnName( i ) + "</b></td>" );
}
out.println( "</tr>" );
while( rs.next() )
{
out.println( "<tr>" );
for( int i=1; i<=nColumnCount; i++ )
{
out.println( "<td>" + rs.getString( i ) + "</td>" );
}
out.println( "</tr>" );
}
}
else
{
// 执行结果为正数
out.println( "更新记录的数目为:" + st.getUpdateCount() );
}
}
catch( SQLException ex )
{
out.println( ex );
}
finally
{
// 关闭,释放资源
try
{
if( rs!=null ) rs.close();
}
catch( Exception ex ) {}
try
{
if( st!=null ) st.close();
}
catch( Exception ex ) {}
try
{
if( conn!=null ) conn.close();
}
catch( Exception ex ) {}
}
}
%>
</center>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -