请问各位高手们,JAVA中有没有指针啊,多谢多谢,还有,connection和 command对象的用法 ,详细点啊。

如题所述

java是基于面向对象的编程语言,用的最广泛的是类及其对象,没有指针!

java中连接数据库要用到ADO的Command对象和connection对象,首先建立好数据库,Command对象提供了Command对象属性用于数据库连接,

要使用Command对象,必须有一个可用的Connection对象,使用Command对象的步骤包括:1.创建数据库连接

创建一个Connection对象。

2.定义执行的SQL语句。

一般情况下,我们会将要执行的SQL语句赋值给一个字符串。

3.创建Command对象

使用已有的Connection对象和SQL语句字符串创建一个Command对象。

4.执行SQL语句

使用Command对象的某个方法执行命令。

示例:string connString=“Data Source=..;Initial  Catalog=...;User ID=..;Pwd=....;"

           SqlConnection  connection=new    SqlConnection( connString);

          string sql=string.Format("sql语句");

       sqlCommand objCommand=new  sqlCommand(sql,connection);

         connection.open;

     int number=(int)objCommand.ExecuteScalar();

    connection.close;

  Console.WriterLine("共有{0}条记录",number);

希望能帮到你!!

温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-12-11
java语言在语义上确实没有指针,但并不意味着没有指针,我们所使用的编译器myeclipse的底层使用c++编译的,它是有指针的。所以只能说在语义上没有。
对于connection和command的用法,我用一个连接数据库操作的类来说明。如下:

package xxx;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class TestTools {
static{
String driverClassName="com.mysql.jdbc.Driver";
try {
//1、加载驱动 两种方法:
Class.forName(driverClassName);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {

//1、链接任意数据库
Connection con=genConn();
//2、处理用户命令
process(con);
//3、程序结束
DoJDBC.close(null, null, con);
System.out.println("再见!欢迎下次使用!");
}
private static void process(Connection con) {
boolean flag=true;
while (flag) {
String command=getCommand();
if ("quit".equalsIgnoreCase(command)||"bye".equalsIgnoreCase(command)) {
flag=false;
}else {
execute(con,command);
}
}
}
private static void execute(Connection con, String command) {
PreparedStatement ps=null;
ResultSet rs=null;
try {
ps=con.prepareStatement(command);
if (ps.execute(command)) {
rs=ps.getResultSet();
DoJDBC.metaData(rs);
}else if("commit".equals(command)||"rollback".equals(command)){
processTransaction(con,command);
}else{
System.out.println("更新信息———>"+ps.getUpdateCount());
}
} catch (SQLException e) {
e.printStackTrace();
//被动回滚
try {
con.rollback();
} catch (Exception e2) {
e2.printStackTrace();
}
}finally{
DoJDBC.close(rs, ps, null);
}
}
private static void processTransaction(Connection con, String command) {
try {
if("commit".equals(command)){
con.commit();
System.out.println("提交成功!");
}else{
con.rollback();
System.out.println("回滚成功!");
}
} catch (Exception e) {
e.printStackTrace();
}

}
private static String getCommand() {
String message="SQL>";
String command="";
StringBuffer sb=new StringBuffer();
int c=0;
while(!command.endsWith(";")){
if(++c>1){
message=" "+c+">";
}
sb.append(" "+prompt(message));
command=sb.toString().trim();
}
return command.substring(0,command.length()-1).trim();
}
private static Connection genConn(){
Connection con=null;
String url=prompt("请输入url:");
String userName=prompt("请输入用户名:");
String pwd=prompt("请输入密码:");
try {
con=DriverManager.getConnection(url,userName,pwd);
con.setAutoCommit(false);
} catch (Exception e) {
e.printStackTrace();
}
return con;
}
private static String prompt(String message) {
System.out.print(message);
BufferedReader br= new BufferedReader(new InputStreamReader(System.in));
String command="";
try {
command=br.readLine();
} catch (Exception e) {
e.printStackTrace();
}
return command;
}
}
相似回答