Ado.net[sqlserver]连接
//生成连接对象
SqlConnection conn = new SqlConnection(“server=.;database=northwind;uid=sa;pwd=”);
//由连接生成sqlcommand
SqlCommand cmd=conn.CreateCommand();
//指定命令类型
cmd.CommandType=CommandType.StoredProcedure;
//写存储过程名或sql语句
cmd.CommandText="up_select_test";
//将参数添加到 parameters集合
cmd.Parameters.Add("@tag",SqlDbType.VarChar,50);
cmd.Parameters.Add("@count",SqlDbType.Int);
//设置参数的值
cmd.Parameters["@tag"].Value="SELECTALL";
//指定参数的输出方向
cmd.Parameters["@count"].Direction=ParameterDirection.Output;
//开启连接通道
conn.Open();
//获取结果集
SqlDataReader dr= cmd.ExecuteReader();
//判断是否有下一行数据
while(dr.Read()){
//从结果集中取productid,还可用dr.getValue(0)或dr[0]等方式;
Response.Write(dr["productid"]);
Response.Write(dr["productname"]);
Response.Write(dr["unitprice"]+"<br>");
}
conn.Close();
//获取输出的参数值
Response.Write( cmd.Parameters["@count"].Value);
J2ee JDBC[sqlserver]连接
//加载sqlserver驱动
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
//设置好连接字符串
String url ="jdbc:microsoft:sqlserver://127.0.0.1:1433;databaseName=northwind;user=sa;password=";
//由drivermanager得到连接对象;
Connection conn=DriverManager.getConnection(url);
//连接对象准备好callablestatement对象,并预处理好参数
CallableStatement cs= conn.prepareCall("{call up_select_test(?,?)}");
//连接对象设置好参数的值
cs.setString(1,"SELECTALL");
//连接对象注册输出参数(下标,类型);
cs.registerOutParameter(2,Types.INTEGER);
//执行查询,得到结果集;
ResultSet rs= cs.executeQuery();
//遍历结果集;
while(rs.next()){
//取出结果集的数据
out.println(rs.getString("productid")+"|"+rs.getString("productname")+"|"+rs.getString("unitprice"));
}
//有statement语句对象,得到输出的参数
out.println("输出的参数:"+cs.getInt(2));
//关闭结果集;
rs.close();
//关闭语句对象;
cs.close();
//关闭连接对象;
conn.close();
总结:1.ado.net中Command对象类似 jdbc中statement[语句命令]对象;
Jdbc{
Statement;//普通语句对象;
PreparedStatement;//预处理;
CallableStatement;//调用存储过程;
}
2.ado.net用parameters集合存储参数;
Jdbc用语句对象设置参数
3.ado.net用sqldatereader存储结果;
用dr.read()判断是否有下一行数据;
Jdbc用resultset存储
用rs.next()判断;
4.ado.net中数据的获得
{
dr[“列名”];
dr.getValue(“下标”);//从0开始;
dr.getString(“下标”);如: dr.getString(0);
}
Jdbc中获取数据
{
rs.getString(“列名”);
rs.getInt(“列名”);
rs.getFloat(“列名”);
或使用ResultSetMetaDate获取数据信息;
}