⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 execsql.jsp

📁 一些数据库的java开发编程
💻 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 + -