js的东东吧!sql语句
insert
delete
alter
select
insert
delete
alter
select
解决方案 »
- 网站可以正常浏览,但SQL2005日志一直不写地写入Network service登陆的错误
- 求一个总表与明细表的数量对比SQL写法!!!!!!!!!!!
- 这种查询语句该如何写?
- 高分求教简单的SQL语句,顶者有分!
- 复制结构到另一个表的sql怎么写(将table1的表结构复制到table2中去)
- SQL server 中一个简单问题,数据类型转换
- SQL SERVER 2000锁表问题
- ASP+VB+SQL SERVER,三层式开发方案,接口,中间件,面向对象…………最近想做个基于以上概念的项目,可是没有相关资料可以参考,请问各位大虾哪里有相关的文档资料可以参考啊?小弟我一谢,二谢,多谢了!!!
- SQL语句问题:关于select (a+b+c) from table where a in not null
- 关于SQL 跨天查询的问题
- 这种现象是SQL2000的问题还是网络的问题呢?
- 20分都给了!!如何在struts里用存储过程实现增删改查?存储过程的具体语句?
<data-sources>
<data-source key="sqlserver" type="org.apache.commons.dbcp.BasicDataSource">
<set-property property="driverClassName" value="com.microsoft.jdbc.sqlserver.SQLServerDriver" />
<set-property property="url" value="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=PersonalCard;" />
<set-property property="username" value="sa" />
<set-property property="password" value="111" />
<set-property property="auotCommit" value="true" />
</data-source>
</data-sources>
这里和ORACLE不同的是 <set-property property="username" value="sa" /> 注意 是username而不是user!!!!!!!
还有property="driverClassName"注意注意再注意,一点小错误都不行配置完成了 该进ACTION里调用了 这里我继承的是DispatchAction 因为经常涉及到数据库的操作 所以我把对数据库的连接单独拿出来弄了个类 如下:
package com.google.common;import java.sql.*;import javax.sql.DataSource;public class Dao {
private Connection conn;//定义连接
private CallableStatement cstmt;//存储过程
public CallableStatement getCallableStatement(DataSource ds,String st){
try {
conn = ds.getConnection();//获得数据源
cstmt = conn.prepareCall(st);//将传进来的String类型的参数做为参数得到存储过程对象
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return cstmt;//返回该对象
}
public void close(){
try {
conn.close();
cstmt.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}}在ACTION里得到了CallableStatement 的对象后对其参数进行负值(如果没有参数的话就不用了)
以下是ACTION中的部分代码
try {
Dao dao = new Dao();
String st = "{call P_PersonalCardlList}";//这里的存储对象没有参数
CallableStatement cstmt = dao.getCallableStatement(ds, st);//调用上面的类对象
cstmt.execute();//不能少
rs = cstmt.getResultSet();//比较简单
while (rs.next()) {
Person p = new Person(); p.setPersonalCardID(rs.getInt("PersonalCardID"));
p.setPersonalCardNo(rs.getString("PersonalCardNo"));
p.setName(rs.getString("PersonalName"));
p.setAge(rs.getInt("PersonalAge")); list.add(p);
} } catch (Exception e) {
e.printStackTrace(); } finally {
dao.close(); }
如果遇到有参数的存储过程的话这样写:
try { String st = "{call P_PersonalNationalAlter(?,?,?,?)}";
CallableStatement cstmt = dao.getCallableStatement(ds, st);
cstmt.setInt(1, cardId);
cstmt.setString(2, cardNo);
cstmt.setString(3, name);
cstmt.setInt(4, age); cstmt.executeUpdate(); } catch (Exception e) {
e.printStackTrace();
} finally {
dao.close(); }