java可以对sql server进行各种操作,需要一个sqljdbc4.jar的外部jar包,可以从网上下载得到。
首先需要连接数据库:
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection con = DriverManager.getConnection(thUrl, thLoginName, thPassWord);
其中,thUrl——jdbc:sqlserver://127.0.0.1(数据库所在主机的ip地址):1433(访问端口);databaseName=xxxx(数据库名)
thLoginName——登录名, thPassWord——登录密码
连接成功后,就可以对数据库进行各种操作了。
一、读取数据库某个表中的字段数据
Statement stmt=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
ResultSet rsst = stmt.executeQuery("select * from dbo.signal"); //select后面*表示所有字段,也可以指定具体的字段
while(rsst.next())
{
String val1 = rsst.getString(1);
int val2 = rsst.getInt(2);
}
rsst.close();
stmt.close();
二、更新数据库某个表中的字段数据
Statement stmt=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
stmt.executeUpdate("update dbo.signal set value=2 where id=1"); //如果后面不跟where条件,则更新所有列的value字段
stmt.close();
三、插入数据到数据库某个表中
String sql = "insert into dbo.signal values(?,?,?) ";
PreparedStatement pst = conTmp.prepareStatement(sql,Statement.RETURN_GENERATED_KEYS);
pst.setInt(1, 2222);
pst.setInt(2, 6);
pst.setString(3, "i love you");
pst.executeUpdate();
pst.close();
//还可以批量插入,这里暂不总结,自己百度吧
四、删除某表中的某列数据
Statement stmt=conTmp.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
String sql = "delete from dbo.signal where id=2222";
stmt.executeUpdate(sql);
stmt.close();
//
truncate table dbo.signal;
删除整表数据,truncate属于DDL,删除后,数据无法回滚,insert,update,delete属于DML,可以回滚操作
梦想这东西和经典一样,永远不会随时间而褪色,反而更加珍贵!