背景:盒子和盒子里的样品。箱子有编号,样品也有编号。
例如:清华学生是公司的客户,公司设置一个样品箱给清华id设置为qh01,清华的学生就把样品放到这个箱子。过程: 只有一个textbox
 第一次要输入样品箱的id,文本框输入id后 ,盒子的信息就能得到。
  例如:qh001  页面就显示才出,这是清华的样品箱编号。
 第二次要输入样品的编号,这样客户的信息也能得到。
  例如:qhxueshenga   页面显示出,这个样品属于qh001这个样品箱的。
 编号固定4位数。要求:第一次要输入箱子的id,然后显示出信息。第二次输入属于这个箱子样品的信息。显示出来样品信息。一直循环就是箱子,样品,箱子,样品。
      每次,如果第一次输入样品的id,要提示请先输入箱子的id。
箱子很多,样品也有很多怎么判断第一次输入的是箱子id呢

解决方案 »

  1.   

    额..... 绕口令??做个全局变量就好了
     管它是什么SESSION APLLICATION COOKIE  啥的~~
      

  2.   

    我晕倒,那不是很简单吗。箱子一张表box,样品一张表product。它们的关系为一对多或者多对多关系。假设一个箱子和样品属于一对多关系,那就非常简单了。如果是多对多关系,那就还要一张中间表box_product。很明显,建立这些表后,事情就简单多了,接下来就是写程序。好,你说的非常好,女程序员真不容易,男程序员就更不容易了。解决事情的方法是多种多样的,比如:
    1、你有两个textbox,然后分别提示:(1)输入箱子编号:...(2)输入样品编号...;
    2、如果你非要一个textbox,也不难,就是障眼法,你输入的是编号,但是到后台你就可以不用编号查询,可以用箱子名称获取查询或者是箱子的其他唯一字段来查询;方法很多;
    3、你也自己可以定义一个算法,让箱子的编号和样品的编号不同,也行,反正一句话,解决问题的方法是有人想出来的。
      

  3.   

    这个挺简单的呀  这种逻辑很简单的  用SESSION cookies都可以的
      

  4.   

    我就是思路比较混乱。
    我就清楚这一步:第一步判段
      string strbox = (txtScan.Text).Trim();
      if(strbox,length==4)
     { stirng sql=“select boxid,boxname form boxmessage where strbox=‘“+strbox+”’ ”;   DataTable dt = adp.GetDataSet(sql).Tables[0];
                        if (dt.Rows.Count > 0)
                        {
                            grddropbox.DataSource = dt;
                            grddropbox.DataBind();
                        }
                        else
                        {
                            Label1.Text = "not this dropbox message";
                        }
       }
    后面该样品信息了。可是如果文本框先输入了样品信息,从哪提示说,请先输入box的信息。
      

  5.   

    参考思路:
    第一步你得界面设置两个按钮botton1喝botton2,将botton2设置为不可用
    botton1方法里面只查询盒子得信息 botton2方法只查询样品得信息
    第二步:用户第一次输入得时候点击得是botton1,这时候查询盒子,如果有,就将botton1隐藏,botton2显示
    位置最好在一个位置。然后用户第二次输入得时候那肯定点击得是botton2了,这样就是查询的样品信息。
    在查询完样品,在把botton2隐藏,显示botton1仅供参考~~~~~~~~~~~~~~~~~~
      

  6.   

    viewstate用过吗?唉,还是用session来给你做吧。页面加载事件里
     if (!IsPostBack)
     {
          Session["status"] = 0;//默认为0,也就是默认0为箱子的id,而1则为样品id
      }
    以下就不知道是那个事件里:
     if(Session["status"]==null)
       Session["status"]=0;
     string strbox = (txtScan.Text).Trim();
      if(Session["status"].ToString()=="0")//这个为箱子
     { stirng sql=“select boxid,boxname form boxmessage where strbox=‘“+strbox+”’ ”;  DataTable dt = adp.GetDataSet(sql).Tables[0];
      if (dt.Rows.Count > 0)
      {
        Session["status"]=1;//成功的话就该输入样品id了
        grddropbox.DataSource = dt;
        grddropbox.DataBind();
      }
      else
      {
         Session["status"]=0;//不成功还继续输入箱子id
         Label1.Text = "not this dropbox message";
      }
      }else if(Session["status"].ToString()=="1"){  //样品
         //样品的读取操作
        if (成功)
      {
        Session["status"]=0;//成功的话就该输入箱子id了
        grddropbox.DataSource = dt;
        grddropbox.DataBind();
      }
      else
      {
         Session["status"]=1;//不成功还继续输入样品id
         Label1.Text = "not this dropbox message";
      }  }
      

  7.   

    哈哈哈,这个和我看到的一个例子有点像啊:The Number of BOX &  BOX number  呵呵,箱号和箱子数目哈·~ 
      

  8.   

    tutu驴,呵呵,这不是我哥们设计得么,你是那找来得....
      

  9.   

    很好很强大。哈哈。
    我最近主要都忙着做生意了。代码已经生疏了。有空来店里看看。
    http://youa.baidu.com/shop/d9278df61109c3d88c143759
      

  10.   

    我确实没看懂啊。wisdonlz的我能看明白。我是初级的。哎。要么你来我网店吧,我给你优惠。