我想实现一个数据结构,但是赋值的时候,有问题,好像必须在方法里赋值
怎么解决这个问题?public class SeekAttrib {
String sql;
mdbconn mdb = new mdbconn();
Seek sa = new Seek();
sql = "select * from TableSeekAction where ID=" + SeekActionID;
ResultSet rs = mdb.executeQuery(sql);
try
{
if (rs.next())
{
String nActionType = rs.getString("nActionType");
String MenuState = rs.getString("MenuState");
String Status = rs.getString("Status");
String nFormStyle = rs.getString("nFormStyle");
String MainLine = sa.Apostrophe(rs.getString("MainLine"));
String OrderStr = rs.getString("OrderStr");
String bWrap = rs.getString("bWrap");
String TitleBkColor = rs.getString("TitleBkColor");
String TitleFgColor = rs.getString("TitleFgColor");
String RowBkColor = rs.getString("RowBkColor");
String RowFgColor = rs.getString("RowFgColor");
String LineColor = rs.getString("LineColor");
String SelFgColor = rs.getString("SelFgColor");
String SelBkColor = rs.getString("SelBkColor");
String FormHead = sa.Apostrophe(rs.getString("FormHead"));
String FormTail = rs.getString("FormTail");
String TitleFont = rs.getString("TitleFont");
String BodyFont = rs.getString("BodyFont");
String DblClickAction = rs.getString("DblClickAction");
String PrepID = "";   //GetSeekFilter(rs, PrepID);
String ParentNode = rs.getString("ParentNode");
String ParentSeekID = rs.getString("ParentSeekID");
String MenuTitle = rs.getString("MenuTitle");
String FootStyle = rs.getString("FootStyle");
String ClickAction = rs.getString("ClickAction");
String DefaultView = rs.getString("DefaultView");
String TreeViewDepth = rs.getString("TreeViewDepth");
String PageRecs = rs.getString("PageRecs");
String UserDefineTitle = sa.Apostrophe(rs.getString("UserDefineTitle"));
String UserDefineBody = sa.Apostrophe(rs.getString("UserDefineBody"));
String ThumbNail = rs.getString("ThumbNail");
String BodyBack = rs.getString("BodyBack");
String MenuBack = rs.getString("MenuBack");
String MenuColor = rs.getString("MenuColor");
String ToolBack = rs.getString("ToolBack");
String ToolColor = rs.getString("ToolColor");
String ActionText = rs.getString("ActionText");
}
}
catch(SQLException e)
{
System.out.print("GetSeekActionAttrib:" + e.getMessage());

}}

解决方案 »

  1.   

    sql = "select * from TableSeekAction where ID=" + SeekActionID;
    这一句错了吧?
    类中只能有方法和属性,赋值和执行语句只能在块中或方法中进行。
    赋值的话,要么初始化的时候进行,要么就要放块中或方法中。
      

  2.   

    搞不懂楼主想要什么。知道变量的 作用域么?
    如上面的:
    String nActionType ;  //先定义一个变量if (rs.next())
    {
    nActionType = rs.getString("nActionType");   //该变量在这个循环里不断变化引用。
    }System.out.println(nActionType );
      

  3.   

    在类里面用静态初始化函数:
    int a;
    static {
     a = 0;
     //...
    }
      

  4.   

    好像必须在方法里赋值,搂主你说的大概是正确的,不过有比较特殊的你可以这样写
    Class A{  int s;
      {
         s = 111;
       }}
    不过还是建议你把给属性赋值的代码写在构造函数里
      

  5.   

    if (rs.next())
    类的定义中不能做逻辑判断的,应该放在方法中,或者放在静态块中
      

  6.   

    你这怎么赋值的,这sql = "select * from TableSeekAction where ID=" + SeekActionID;本身就是错误。SeekActionID没定义,或者你可以在你想传值的类里面设一个静态变量。