先看小段代码:
public class a
{
private int Team_Id;
public int getTeam_Id()
{
return Team_Id;
}
public void setTeam_Id(int team_Id)
{
Team_Id = team_Id;
}
public String execute() throws Exception
{
System.out.println(Team_Id);
String sql="select * from Team where Team_Id='Team_Id'";
ResultSet rs=dao.executeQuery(sql);
}
}
类中Team_Id是int型,表Team中的Team_Id也是int型的。
通过传值可以得到Team_Id=9,后台输出正常。但是在执行上面execute()中的查询时,sql语句就出错。请问应该怎么写那个语句。我已经试过Team_Id='Team_Id'、Team_Id='"+Team_Id+"'、Team_Id=Team_Id。但是都不行。有谁知道吗?谢谢!
public class a
{
private int Team_Id;
public int getTeam_Id()
{
return Team_Id;
}
public void setTeam_Id(int team_Id)
{
Team_Id = team_Id;
}
public String execute() throws Exception
{
System.out.println(Team_Id);
String sql="select * from Team where Team_Id='Team_Id'";
ResultSet rs=dao.executeQuery(sql);
}
}
类中Team_Id是int型,表Team中的Team_Id也是int型的。
通过传值可以得到Team_Id=9,后台输出正常。但是在执行上面execute()中的查询时,sql语句就出错。请问应该怎么写那个语句。我已经试过Team_Id='Team_Id'、Team_Id='"+Team_Id+"'、Team_Id=Team_Id。但是都不行。有谁知道吗?谢谢!
--------------------------------------
dao是什么?
public static void main(string[]args){}加上你想实现的内容你可以试试!
String sql="select * from Team where Team_Id="+Team_Id; 这样有错吧!
Statement sta = null;
ResultSet rs = null;
try {
conn = JDBCAccess.getConnection(); // 得到一个连接
sta = DriverManager.getConnection("url","user","youpassword");
rs = JDBCAccess.searchSQL(sta, sql);
if(rs!=null){
while (rs.next()) {
// 你要得到的列
}
}
} catch (Exception e) {
e.printStackTrace();
}finally{
if(rs!=null){
try {
rs.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(sta!=null){
try {
sta.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
try {
if(conn!=null && !conn.isClosed()){
conn.close();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}试试
这样写结果就是:
ResultSet rs=dao.executeQuery("select * from Team where Team_Id=9");
没明白你DAO是类对象的含义
cn=Dbconect.Getcon();
String str="select * from Team where Team_Id=?";
PreparedStatement ps=cn.prepareStatement(str);
ps.setString(1, Team_Id);
ResultSet rs=ps.executeQuery();
------------------------------------------------
自己看去!
public String a(int a)
{
String sql="select * from Team where Team_Id='"+a+"'";
return "ssss";
}
这种类型的就可以!回10楼:
那样还是有错,和写成String sql="select * from Team where Team_Id='"+Team_Id+"'"; 一样的错。错误提示:
com.microsoft.sqlserver.jdbc.SQLServerException: ?????????
com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(Unknown Source)
com.microsoft.sqlserver.jdbc.SQLServerResultSet.verifyResultSetHasCurrentRow(Unknown Source)
com.microsoft.sqlserver.jdbc.SQLServerResultSet.getterGetColumn(Unknown Source)
com.microsoft.sqlserver.jdbc.SQLServerResultSet.getInt(Unknown Source)
com.microsoft.sqlserver.jdbc.SQLServerResultSet.getInt(Unknown Source)
{
String sql="select * from Team where Team_Id='"+a+"'";
return "ssss";
}
--------------------------------------------------------------------
没执行sql语句怎么写都是返回SSSS,根本没用.
String sql="select * from Team where Team_Id="+Team_Id;
怎么不试上面这条。
String sql="select * from Team where Team_Id="+Team_Id; 这句我也试过了,和
String sql="select * from Team where Team_Id='"+Team_Id+"'"; 这句是一样的错误提示。
String sql="select * from Team where Team_Id='"+Team_Id + "'";
com.microsoft.sqlserver.jdbc.SQLServerException: ?????????
com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(Unknown Source)
这个错误你怎么知道是那句SQL的问题。。
把你的所有错误信息贴出来吧
'Team_Id'这个在数据库是字符串,当然执行select * from Team where Team_Id ='Team_Id';如果你想select * from Team where Team_Id ='9';
那写成String sql="select * from Team where Team_Id='"+Team_Id+"'";
com.microsoft.sqlserver.jdbc.SQLServerException: ?????????
com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(Unknown Source)
com.microsoft.sqlserver.jdbc.SQLServerResultSet.verifyResultSetHasCurrentRow(Unknown Source)
com.microsoft.sqlserver.jdbc.SQLServerResultSet.getterGetColumn(Unknown Source)
com.microsoft.sqlserver.jdbc.SQLServerResultSet.getInt(Unknown Source)
com.microsoft.sqlserver.jdbc.SQLServerResultSet.getInt(Unknown Source)
entertainment.game.action.JoinEmTeamAction.execute(JoinEmTeamAction.java:66)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
java.lang.reflect.Method.invoke(Unknown Source)
com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:440)
com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:279)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:242)
com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:163)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:249)
org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:122)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:148)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:93)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:235)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:89)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:128)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
org.apache.struts2.interceptor.ProfilingActivationInterceptor.intercept(ProfilingActivationInterceptor.java:104)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:267)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:126)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:138)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:148)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:128)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:176)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:468)
org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:395)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
java.lang.Thread.run(Unknown Source)
import java.util.*;import news.entity.*;public class DAO
{
Connection conn=null;
Statement stmt=null;
ResultSet rs=null;
public void DriverDB()
{
try
{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
}
catch(Exception e)
{
System.out.println("000");
e.printStackTrace();
}
}
public ResultSet executeQuery(String sql)
{
try
{
conn=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=Struts2_scu","sa","111");
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
rs=stmt.executeQuery(sql);
}
catch(SQLException e)
{
e.printStackTrace();
}
return rs;
}
public void executeUpdate(String sql)
{
try
{
conn=DriverManager.getConnection("jdbc:sqlserver://localhost:1433; DatabaseName=Struts2_scu","sa","111");
stmt=conn.createStatement();
stmt.executeUpdate(sql);
}
catch(SQLException e)
{
e.printStackTrace();
}
}
public void close()
{
try {
rs.close();
} catch (Exception e) {
e.printStackTrace();
}
try {
stmt.close();
} catch (Exception e) {
e.printStackTrace();
}
try {
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}}
JoinEmTeamAction的66行
这里是什么东西?
static{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
conn=DriverManager.getConnection("jdbc:sqlserver://localhost:1433; DatabaseName=Struts2_scu","sa","111");
}
写一个静态块,没必要每个方法都写