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

📄 ch10.txt

📁 精通Java网络编程代码全部
💻 TXT
字号:
/* 代码10-1
 * Created on 2005-5-22
 */

import java.net.URL;
import java.sql.*;
import java.util.*;
class JdbcOdbc_test
{
	ResultSet results;//结果集合
	ResultSetMetaData rsmd;
	DatabaseMetaData dma;
	Connection con;//是否连接
	int numCols, i;
	//--
	public JdbcOdbc_test()
	{
		String url = "jdbc:odbc:Grocery prices";
		String query = "SELECT DISTINCTROW FoodName FROM Food " + "WHERE (FoodName like 'C%');";
		try
		{
			//加载 JDBC-ODBC 桥驱动程序
			Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
			//连接数据库
			con = DriverManager.getConnection(url);
			//获取数据库的元数据
			dma =con.getMetaData();
			System.out.println("Connected to:"+dma.getURL());
			System.out.println("Driver "+dma.getDriverName());
			//将数据库中的表的名称转储出来
			String[] types = new String[1];
			types[0] = "TABLES";
			//请注意通配符是 % 符号(而不是"*")
			results = dma.getTables(null, null, "%", types);
			dumpResults("--Tables--");
			results.close();
		}
		catch (Exception e)
		{System.out.println(e);}
		//获取表列的名称
		System.out.println("--Column Names--");
		try {
			results =
				dma.getColumns(null, null, "FoodPrice", null);//获得查询结果
			ResultSetMetaData rsmd = results.getMetaData();
			int numCols = rsmd.getColumnCount();
			while (results.next() )
				String cname = results.getString("COLUMN_NAME");
			System.out.print(cname + " ");//打印当前姓名
			System.out.println();
			results.close();
		}
		catch (Exception e)
		{System.out.println(e);}//输出错误结果
		//列出一个列的内容 -- 这是一个查询
		try {
			Statement stmt = con.createStatement();
			results =
				stmt.executeQuery("SELECT FOODNAME FROM FOOD;");
		}
		catch (Exception e)
		{System.out.println("query exception");}
		dumpResults("--Contents of FoodName column--");
		//尝试实际的 SQL 语句
		try
		{
			Statement stmt = con.createStatement();//创建状态集
			results = stmt.executeQuery(query);
		}
		catch (Exception e)
		{System.out.println("query exception");}
		dumpResults("--Results of Query--");
	}

/* 代码10-2
 * Created on 2005-5-22
 */

stmt.execute(queryStringWithUnknownResults); 
while(true){ 
	introwCount=stmt.getUpdateCount(); 
		if(rowCount>0){//它是更新计数 
			System.out.println("Rows changed="+count); 
				stmt.getMoreResults(); 
				continue; 
		} 
		if(rowCount==0){//DDL命令或0个更新 
			System.out.println("No rows changed or statement was DDL command"); 
				stmt.getMoreResults(); 
				continue; 
		} 
		//执行到这里,证明有一个结果集 
		//或没有其它结果 
		ResultSet rs=stmt.getResultSet(); 
			if(rs!=null){ 
				...//使用元数据获得关于结果集列的信息 
					while(rs.next()){ 
						...//处理结果 
							stmt.getMoreResults(); 
							continue; 
					} 
					break;//没有其它结果

/* 代码10-3
 * Created on 2005-5-22
 */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -