备注:
(1),文件列表
(2) java访问sql server2008R2 设置 参考:
java开发相关资料 http://blog.csdn.net/keenweiwei/article/details/7328611
(3) 数据库 表结构
(4)运行结果
(5) 完整java代码下载: http://good.gd/1965614.htm
(DBHelper 抄的人家的,自己改了一部份)
1.test1.java
import java.sql.ResultSet;
//import javax.swing.JOptionPane;
public class test11 {
public static void main(String[] args) {
DBHelper help=new DBHelper();
/* if(help.TestConn())
System.out.println("连接成功1");
else
System.out.println("连接失败1");*/
//JOptionPane.showMessageDialog(null, "hello world");
//String sSQL="select * from w_brand where id=? and brand_name =?";
String sSQL="select * from w_brand where id=? and brand_name like '%{0}%'";
sSQL=sSQL.replace("{0}", "柔");
Object[] oParams=new Object[1];
oParams[0]=5;
//oParams[1]="柔";
/* ResultSet rs=help.GetResultSet(sSQL, oParams);
try
{
if(rs.next())
System.out.println("id: " + rs.getString(1) + " brand_name: " + rs.getString(2));
////索引从1开始
}catch(Exception ex)
{
System.out.println(ex.getMessage());
}finally
{
try
{
rs.close();
}catch(Exception ex)
{
System.out.println(ex.getMessage());
}
}*/
Object oResult=help.GetSingle(sSQL, oParams);
if(oResult!=null)
System.out.println(oResult.toString());
else
System.out.println("没有符合条件的数据");
//DataTable dt=help.GetDataTable(sSQL,oParams);
/* String sSQL="select * from w_brand";
DataTable dt=help.GetDataTable(sSQL);*/
/* try
{
int iRowCount = dt.RowCount;
int iColumnCount = dt.ColumnCount;
System.out.println("行数:" + iRowCount + ",列数:" + iColumnCount);
DataTable.PrintTable(dt);
//rs.last();
//System.out.println("数据行:" + rs.getRow());
}catch(Exception ex)
{
System.out.println("错误提示:" + ex.getMessage());
}*/
}
}
2.DBHelper.java
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
import com.microsoft.sqlserver.jdbc.*;
public class DBHelper {
Connection _CONN = null;
//取得连接
private boolean GetConn(String sUser, String sPwd) {
if(_CONN!=null)return true;
try {
String sDriverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
// String sDBUrl ="jdbc:sqlserver://192.168.0.74;databaseName=wakeup";
String sDBUrl = "jdbc:sqlserver://192.168.2.28\\JONSE;databaseName=wakeup";
Class.forName(sDriverName);
_CONN = DriverManager.getConnection(sDBUrl, sUser, sPwd);
} catch (Exception ex) {
// ex.printStackTrace();
System.out.println(ex.getMessage());
return false;
}
return true;
}
private boolean GetConn()
{
return GetConn("sa","aaaaaa");
}
//关闭连接
private void CloseConn()
{
try {
_CONN.close();
_CONN = null;
} catch (Exception ex) {
System.out.println(ex.getMessage());
_CONN=null;
}
}
//测试连接
public boolean TestConn() {
if (!GetConn())
return false;
CloseConn();
return true;
}
public ResultSet GetResultSet(String sSQL,Object[] objParams)
{
GetConn();
ResultSet rs=null;
try
{
PreparedStatement ps = _CONN.prepareStatement(sSQL);
if(objParams!=null)
{
for(int i=0;i< objParams.length;i++)
{
ps.setObject(i+1, objParams[i]);
}
}
rs=ps.executeQuery();
}catch(Exception ex)
{
System.out.println(ex.getMessage());
CloseConn();
}
finally
{
//CloseConn();
}
return rs;
}
public Object GetSingle(String sSQL,Object... objParams)
{
GetConn();
try
{
PreparedStatement ps = _CONN.prepareStatement(sSQL);
if(objParams!=null)
{
for(int i=0;i< objParams.length;i++)
{
ps.setObject(i+1, objParams[i]);
}
}
ResultSet rs=ps.executeQuery();
if(rs.next())
return rs.getString(1);//索引从1开始
}catch(Exception ex)
{
System.out.println(ex.getMessage());
}
finally
{
CloseConn();
}
return null;
}
public DataTable GetDataTable(String sSQL,Object... objParams)
{
GetConn();
DataTable dt=null;
try
{
PreparedStatement ps = _CONN.prepareStatement(sSQL);
if(objParams!=null)
{
for(int i=0;i< objParams.length;i++)
{
ps.setObject(i+1, objParams[i]);
}
}
ResultSet rs=ps.executeQuery();
ResultSetMetaData rsmd=rs.getMetaData();
List row=new ArrayList(); //表所有行集合
List col=null; //行所有列集合
DataRow r=null;// 单独一行
DataColumn c=null;//单独一列
String columnName;
Object value;
int iRowCount=0;
while(rs.next())//开始循环读取,每次往表中插入一行记录
{
iRowCount++;
col=new ArrayList();//初始化列集合
for(int i=1;i<=rsmd.getColumnCount();i++)
{
columnName=rsmd.getColumnName(i);
value=rs.getObject(columnName);
c=new DataColumn(columnName,value);//初始化单元列
col.add(c); //将列信息加入到列集合
}
r=new DataRow(col);//初始化单元行
row.add(r);//将行信息加入到行集合
}
dt = new DataTable(row);
dt.RowCount=iRowCount;
dt.ColumnCount = rsmd.getColumnCount();
}catch(Exception ex)
{
System.out.println(ex.getMessage());
}
finally
{
CloseConn();
}
return dt;
}
public int UpdateData(String sSQL,Object[] objParams)
{
GetConn();
int iResult=0;
try
{
PreparedStatement ps = _CONN.prepareStatement(sSQL);
if(objParams!=null)
{
for(int i=0;i< objParams.length;i++)
{
ps.setObject(i+1, objParams[i]);
}
}
iResult = ps.executeUpdate(sSQL);
}catch(Exception ex)
{
System.out.println(ex.getMessage());
return -1;
}
finally
{
CloseConn();
}
return iResult;
}
}
3, DataTable.java
import java.util.List;
//import java.util.ArrayList;
public class DataTable {
List row;
public DataTable(){}
public DataTable(List _row)
public List GetRow()
{
return row;
}
public void SetRow(List _row)
{
row = _row;
}
public static void PrintTable(DataTable dt) {
for (DataRow r : dt.GetRow()) {
for (DataColumn c : r.GetColumn()) {
System.out.print(c.GetKey() + ":" + c.GetValue() + " ");
}
System.out.println("");
}
}
public static int RowCount=0;
public static int ColumnCount=0;
}
4.DataRow.java
import java.sql.Date;
import java.sql.Blob;
import java.util.List;
public class DataRow {
List col;
public DataRow(List _col)
{
col = _col;
}
public List GetColumn()
{
return col;
}
public void SetColumn(List _col)
{
col = _col;
}
public DataColumn GetColumn(String colName)
{
for(DataColumn c:col)
{
if(c.GetKey().toUpperCase().equals(colName.toUpperCase()))
{
try
{
return c;
}catch(Exception ex)
{
System.out.println(ex.getMessage());
}
}
}
return null;
}
public int GetColumnInt(String colName)
{
for(DataColumn c:col)
{
if(c.GetKey().toUpperCase().equals(colName.toUpperCase()))
{
try
{
return Integer.parseInt(c.GetValue().toString());
}catch(Exception ex)
{
System.out.println(ex.getMessage());
}
}
}
return 0;
}
public String GetColumnString(String colName)
{
for(DataColumn c:col)
{
if(c.GetKey().toUpperCase().equals(colName.toUpperCase()))
{
try
{
return c.GetValue().toString();
}catch(Exception ex)
{
System.out.println(ex.getMessage());
}
}
}
return "";
}
public Date GetColumnDate(String colName)
{
for(DataColumn c:col)
{
if(c.GetKey().toUpperCase().equals(colName.toUpperCase()))
{
try
{
return Date.valueOf(c.GetValue().toString());
}catch(Exception ex)
{
System.out.println(ex.getMessage());
}
}
}
return null;
}
public Blob GetColumnBlob(String colName)
{
for(DataColumn c:col)
{
if(c.GetKey().toUpperCase().equals(colName.toUpperCase()))
{
try
{
return (Blob)c.GetValue();
}catch(Exception ex)
{
System.out.println(ex.getMessage());
}
}
}
return null;
}
public float GetColumnFloat(String colName)
{
for(DataColumn c:col)
{
if(c.GetKey().toUpperCase().equals(colName.toUpperCase()))
{
try
{
return Float.parseFloat(c.GetValue().toString());
}catch(Exception ex)
{
System.out.println(ex.getMessage());
}
}
}
return 0;
}
}
5.DataColumn.java
public class DataColumn {
String key;
Object value;
public DataColumn(String _key,Object _value)
{
key = _key;
value = _value;
}
public String GetKey()
{
return key;
}
public Object GetValue()
{
return value;
}
public void SetKey(String _key)
{
key = _key;
}
public void SetValue(Object _value)
{
value = _value;
}
}