永发信息网

帮忙改改这个简单的java存储过程好吗?

答案:1  悬赏:20  手机版
解决时间 2021-07-31 04:18
  • 提问者网友:喧嚣尘世
  • 2021-07-30 21:28

create procedure findStudentByLike

@studentLike varchar(50)
as
select * from studentInformation where studentNumber like '%'+@studentLike+'%' or studentName like '%'+@studentLike+'%'
go

execute findStudentByLike '郭'

关键是上面的那条sql语句可能有问题,尽管直接在数据库查询分析器里面执行,是可以返回结果集的。但是在java代码中调用就不能返回结果集。

public Vector getStudentInformationByLike(String seemLike)
{
DbConnection connection=new DbConnection();
conn=connection.getConnection();
try {
stmt=conn.prepareCall("{call findStudentByLike(?)}");
stmt.setString(1,seemLike);
rs=stmt.executeQuery();
ResultSetMetaData rsmd=rs.getMetaData();
int columns=rsmd.getColumnCount();

v=new Vector();
while(rs.next())
{
Vector ve=new Vector();
for(int i=1;i<=columns;i++)
{
if(i<=2)
{

ve.add(rs.getString(i).trim());
}
else
{

ve.add(rs.getObject(i));


}

}
v.add(ve);

}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
close();
return v;
}

最佳答案
  • 五星知识达人网友:猎心人
  • 2021-07-30 21:59

create procedure findStudentByLike


@studentLike varchar(50)
as
select * from studentInformation where studentNumber like @studentLike or studentName like @studentLike


那你就在java 程序中带进去!stmt.setString(1,"'%"+seemLike+"%'");

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯