[前][次][番号順一覧][スレッド一覧]

mysql:6115

From: "Tatsuya Kondo" <"Tatsuya Kondo" <konet@xxxxxxxxxx>>
Date: Wed, 11 Sep 2002 14:11:53 +0900
Subject: [mysql 06115] Re: 検索が正常に出来ない

近藤です。

create table profile (
    name char(20),
    sex tinyint(1),
    age tinyint(2)
);

こんな感じでしたら問題なく検索出来るようになりました。

しかし、

create table profile (
    name char(20),
    sex tinyint(1),
    age tinyint(2),
    time timestamp(10)

);

として、
insert into profile values("user01,1,22,now()");
insert into profile values("user01,1,22,now()");



----- Original Message ----- 
From: "城" <sora_iro@xxxxxxxxxx>
To: <ml@xxxxxxxxxx>
Sent: Wednesday, September 11, 2002 1:32 PM
Subject: [mysql 06114] Re: 検索が正常に出来ない


> > MLにぶつけるよりかは、お金を出してたくさん本を買って勉強した
> > 方がいい時もあります。
> 本に載っているサンプルとかで良いんでしょうか?
> 
> 
> > 本を買ったら後は、修行僧のように基礎から地道にこつこつとやれば
> > いろいろと分かってくると思います。
> > そこでどうしても分からないことがあればMLに投稿する、
> > という形が理想だと思います。
> 僕の場合ですと
> 本で探す→webで探す→めちゃくちゃに作ってみる→動く よっしゃ!!(ス
> パゲッティコード満載)
> 本で探す→webで探す→めちゃくちゃに作ってみる→動かない がーーん!!→ML
> の皆様お願いします。
> の2パターンです
> 
> > 新宿:紀伊国屋書店
> はい。↑は良く利用させていただいてます。
> 
> 
> そこで検索の時に使ったプログラムのコードを参考までに載せさせていただきま
> す。
> これはギリギリ動いています。
> 
> サッカー選手のDB←この辺も作る意味がわからないけど気にしないでください^
> ^;
> 
> table senshu
> 
> name : VARCHAR
> area : VARCHAR //国名です。2バイト文字を入れています
> age : VARCHAR //この値ですが、年代という意味合いなのでintで
> はなくcharを使いました(汗
> comment : VARCHAR //コメントです。ポジションとかです。オーウェンは足が速
> いとか。
> 
> このテーブルから読み込みさせました。
> 
> フォームから国と年齢をセレクトBOXでサーブレットでレスポンス処理でDBから
> 検索して表示させるという仕組みにしたのです。
> 
> 当初は検索が全くできませんでした。原因を調べたところ
> "書き込んだときに8859-1で書き込んだのに検索の時にシフトJISで読み込もうと
> していた"
> ためでした。
> 書き込みもフォーム→サーブレットで処理しています。
> 
> 
> 次に検索結果が半分しか出てきませんでした。イングランドで検索してもスタメ
> ンが6人しかいない感じです。
> これはResultSetのnext();の使い方に間違いがあったためです。
> 
> 
> 
> import javax.servlet.* ;
> import javax.servlet.http.* ;
> import java.io.* ;
> import java.sql.*;
> 
> public class ShowServlet extends HttpServlet {
> 
> long No;
> String serchArea = "";
> String serchAge = "";
> String stringViewNum = "";
> int ViewNum;
> 
> 
> public void init( ServletConfig config) throws ServletException
> {
> 
> super.init(config);
> }
> 
>     public void doGet(HttpServletRequest request, HttpServletResponse
> response)
>                           throws ServletException, IOException {
> 
> serchArea = request.getParameter("area");
> serchAge = request.getParameter("age");
> stringViewNum =
> request.getParameter("viewnum");
> 
> boolean flagZero = stringViewNum.equals("");
> if( flagZero == true){
> stringViewNum = "0";
> }
> 
> Integer tmpViewNum =
> Integer.valueOf(stringViewNum);//intに変換処理♪
> ViewNum = tmpViewNum.intValue();
> 
> String data =
> this.ConDB(serchArea,serchAge,ViewNum);
> 
> 
> response.setContentType("text/html;charset=\"Shift_JIS\"");
> PrintWriter out = response.getWriter();
> 
> out.println("<html>");
> out.println("<head>");
> out.println("<title></title>");
> out.println("</head>");
> out.println("");
> out.println("<body>");
> out.println(data);
> 
> if(ViewNum >= 10){
> 
> out.println("<form name =\"back\"
> method=\"get\" action=\"ShowServlet\">");
> out.println("<input type=\"hidden\"
> name=\"area\"value=\""+ serchArea +"\">");
> out.println("<input type=\"hidden\"
> name=\"age\"value=\""+ serchAge +"\">");
> out.println("<input type=\"hidden\"
> name=\"viewnum\"value=\""+ (ViewNum - 10)  + "\">");
> out.println("<input type=\"submit\"
> value=\"前\">");
> 
> }
> 
> out.println("<form name =\"go\" method=\"get\"
> action=\"ShowServlet\">");
> out.println("<input type=\"hidden\"
> name=\"area\"value=\""+ serchArea +"\">");
> out.println("<input type=\"hidden\"
> name=\"age\"value=\""+ serchAge +"\">");
> out.println("<input type=\"hidden\"
> name=\"viewnum\"value=\""+ (ViewNum + 10)  + "\">");
> out.println("<input type=\"submit\" value=\"次
> \">");
> out.println("<br>");
> out.println("<br>");
> out.println("<a href
> =\"http://www.gogo-jo.no-ip.com/koihiroi/\">top</a>");
> out.println("</body>");
> out.println("</html>");
> out.close();
> 
> System.out.println("表示正常終了");
> 
>     }
> 
>     public void doPost(HttpServletRequest request, HttpServletResponse
> response)
>                           throws ServletException, IOException {
> }
> 
> private String Disp(String name,String age,String area,String
> comment){
> 
> StringBuffer dsb = new StringBuffer("<br>\n");
> 
> 
> String Name = name;
> String Age = age;
> String Area = area;
> String Comment = comment;
> 
> dsb.append("『" + Name + "』<br>\n");
> dsb.append("<br>");
> dsb.append(Area + "┃"+ Age + "<br>\n");
> dsb.append("<br>\n");
> dsb.append( "<pre>"+ Comment + "</pre><br>\n");
> dsb.append("<br>\n");
> dsb.append("<hr>\n");
> 
> String Kiji = dsb.toString();
> 
> return Kiji;
> 
> }
> 
> private String ConDB(String area,String age,int viewnum){
> 
> StringBuffer conDBsb = new StringBuffer();
> String DBpara;
> 
> String queryArea;
> String queryAge;
> String querySerch;
> int ShowNum = viewnum;
> 
> boolean flagArea = area.equals("0");//
> boolean flagAge = age.equals("0");
> 
> if( flagArea == false && flagAge == false){
> queryArea = ("where area = \'"+ area + "\'
> and ");
> queryAge = ("age = \'"+ age +"\'");
> }
> else if( flagArea == true & flagAge == false){
> 
> queryArea = "";
> queryAge = ("where age = \'" + age
> +"\'");
> }
> else if(flagArea == false & flagAge == true){
> 
> queryArea = ("where area = \'" + area
> +"\'");
> queryAge = "";
> }
> else{
> queryArea = "";
> queryAge = "";
> }
> 
> querySerch = queryArea + queryAge;
> 
> try {
> Class.forName("org.gjt.mm.mysql.Driver"); //コネ
> クタの呼び出し
> 
> // データベースへ接続
> 
> 
> Connection con =
> DriverManager.getConnection("jdbc:mysql://localhost/SimpleDeai");
> Statement stmt = con.createStatement();
> 
> //検索クエリ送信
> 
> String query = "select * from senshu "+
> querySerch +" order by No desc limit "+ ShowNum + "," + (ShowNum + 10);
> 
> ResultSet rs;
> 
> rs = stmt.executeQuery(query);
> rs.beforeFirst();
> 
> while(rs.next()){
> //rs.next();      これが2個目のエラーの
> 原因でした。上の判定の部分ですでに実行されるようです
> 
> String resName = null;
> String resAge = null;
> String resArea = null;
> String resComment = null;
> 
> 
> resName = rs.getString("name");
> 
> resAge = rs.getString("age");
> 
> resArea = rs.getString("area");
> 
> resComment = rs.getString("comment");
> 
> conDBsb.append(this.Disp(resName,resAge,
> resArea,resComment));
> }
> 
> // データベースから切断
> stmt.close();
> con.close();
> 
> } catch (Exception e) {
>       e.printStackTrace();
> }
> 
> DBpara = conDBsb.toString();
> 
> return DBpara;
> }
> }
> 
> こんな感じです。アルゴリズムの指摘お願いします♪
> 
> 
> 


[前][次][番号順一覧][スレッド一覧]

      6091 2002-09-10 14:37 ["Tatsuya Kondo" <kon] 検索が正常に出来ない                    
      6092 2002-09-10 15:04 ┣["altana" <altana@xxx]                                       
      6094 2002-09-10 15:13 ┣["KAWAI,Takanori" <GC]                                       
      6097 2002-09-10 16:58 ┃┗[fukuixyz <fukuixyz@x] 「 addslashes をつける」意味        
      6098 2002-09-10 18:34 ┃ ┣["KAWAI,Takanori" <GC]                                   
      6100 2002-09-10 19:20 ┃ ┗["Takashi Yamashita" ]                                   
      6106 2002-09-11 10:04 ┃  ┗[fukuixyz <fukuixyz@x]                                 
      6108 2002-09-11 11:29 ┃   ┣[mohri <mohri@xxxxxxx]                               
      6118 2002-09-11 14:30 ┃   ┗[<moeru@xxxxxxxxxx>  ]                               
      6120 2002-09-11 14:57 ┃    ┣[Tomohiro 'Tomo-p' KA]                             
      6122 2002-09-11 15:24 ┃    ┃┣["Takashi Yamashita" ]                           
      6151 2002-09-11 18:46 ┃    ┃┗[<moeru@xxxxxxxxxx>  ]                           
      6121 2002-09-11 15:24 ┃    ┗["KAWAI,Takanori" <GC]                             
      6095 2002-09-10 15:25 ┣[HAMAI Kyoichi <k-ham]                                       
      6096 2002-09-10 15:27 ┣[遠藤 俊裕 <endo_t@xx]                                       
      6099 2002-09-10 18:39 ┣["城" <sora_iro@xxxxx]                                       
      6101 2002-09-10 19:42 ┣["Takashi Yamashita" ]                                       
      6102 2002-09-10 20:24 ┣[楠吉彦 <moredebu@xxx]                                       
      6103 2002-09-11 01:54 ┃┗["Tatsuya Kondo" <kon]                                     
      6104 2002-09-11 08:26 ┃ ┗[遠藤 俊裕 <endo_t@xx]                                   
      6105 2002-09-11 09:46 ┃  ┗["KAWAI,Takanori" <GC]                                 
      6107 2002-09-11 10:04 ┃   ┗[遠藤 俊裕 <endo_t@xx]                               
      6109 2002-09-11 11:57 ┃    ┗["城" <sora_iro@xxxxx]                             
      6111 2002-09-11 12:13 ┃     ┣[遠藤 俊裕 <endo_t@xx]                           
      6112 2002-09-11 12:25 ┃     ┗["Takashi Yamashita" ]                           
      6114 2002-09-11 13:32 ┃      ┗["城" <sora_iro@xxxxx]                         
->    6115 2002-09-11 14:11 ┃       ┣["Tatsuya Kondo" <kon]                       
      6116 2002-09-11 14:08 ┃       ┗["Takashi Yamashita" ]                       
      6117 2002-09-11 14:29 ┃        ┗["城" <sora_iro@xxxxx]                     
      6119 2002-09-11 14:47 ┃         ┗[mohri <mohri@xxxxxxx]                   
      6123 2002-09-11 15:32 ┃          ┗["Takashi Yamashita" ]                 
      6128 2002-09-11 17:47 ┃           ┗[mohri <mohri@xxxxxxx]               
      6129 2002-09-11 17:58 ┃            ┗["城" <sora_iro@xxxxx]             
      6131 2002-09-11 18:20 ┃             ┗["Takashi Yamashita" ]           
      6110 2002-09-11 12:09 ┗["足田博信" <h_ashida]