您的位置:程序门 -> vb ->



帮忙看一下,有没有比 do while.....loop更好的办法?


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


帮忙看一下,有没有比 do while.....loop更好的办法?[已结贴,结贴人:zhuhuofong]
发表于:2007-10-23 11:50:43 楼主
do   while   rs.fields("usename")   <>   text1.text
rs.movenext
if   text1.text   =   rs.fields("usename")   then
name1   =   1
else
end   if
loop
有没有比   do   while.....loop更好的办法
sql语句内是不是有比上面代码更好的办法来实现呀
分用完了.不好意思.
发表于:2007-10-23 11:57:251楼 得分:0
既然是数据库
直接用sql查询不就行了
发表于:2007-10-23 11:58:472楼 得分:0
查询语句
sql="select   *   form   表名   where   usename='"+trim(text1.text)+"'"
查询以后,看看是否有纪录,如果有则   name1=1  


例如  
      if   rs.bof   and   rs.eof   then
            '查询不到此姓名
      else
            name=1
      endif
发表于:2007-10-23 12:48:133楼 得分:0
谢谢上面两位了.
我在查询之后,要将游标移动我要查询的那一行.我要将游标移动到我要查询的那一行.
我上面的代码是把游标移动到条件为真那一条记录.
我sql一点也不会.问了一个很菜的问题.敬请不吝赐教
发表于:2007-10-23 12:50:004楼 得分:0
查询语句  
sql="select   *   form   表名   where   usename=   '"+trim(text1.text)+"   '"  


如果照以上语句查询
出来的就是你想要的那一行(如果有)
发表于:2007-10-24 11:35:375楼 得分:0
private   sub   text1_keypress(keyascii   as   integer)
if   keyascii   =   13   then
sql   =   "select   *   form   meimadata   where   usename=   '"   &   trim(text1.text)   &   "   '"
if   trim(text1.text)   =   rs.fields("usename")   then   msgbox   "用户已经存在"
else
end   if
end   sub
我的目的是查询用户名是不是存在,如果存在将游标移动到查询到这一条记录上.然后再对这一条记录进行相应的操作.
我上面代码是执行完了之后,游标又回到了第一条记录上.
发表于:2007-10-24 15:05:146楼 得分:0
麻烦各位给一个好一点的建议.
发表于:2007-10-24 15:35:357楼 得分:0
在已有的记录集中定位到指定记录,如果是单一条件,不必另外查询,用   .find   方法即可。

dim   n   as   long

n   =   rs.absoluteposition

rs.movefirst
rs.find,   "usename='"   &   trim(text1.text)   &   "'"

if   rs.eof   then
      msgbox   "用户不存在"
      rs.absoluteposition   =   n
end   if
发表于:2007-10-25 10:22:208楼 得分:0
dim   n   as   long  

n   =   rs.absoluteposition  

rs.movefirst  
rs.find,   "usename=   '"   &   trim(text1.text)   &   "   '"   运行到这一行出错.提示参数不可选.

if   rs.eof   then  
      msgbox   "用户不存在"  
      rs.absoluteposition   =   n  
end   if  
谢谢你的回贴.
发表于:2007-10-28 18:28:369楼 得分:0
朋友们帮顶呀!
发表于:2007-10-29 02:50:2510楼 得分:0
可以这样做啊.
先用一个查询语句查询用户名是否存在.存在了要想修改这个用户名下的所有资料.可以在用一条sql语句啊.
查询:sql="select   *   from   表名   where   username='"&   trim   (text1.text)   &"'"
if   rs.eof   and   rs.bof   <> true
      name=1
else
      msgbox"用户名不存在!",32,"错误提示"
      name=2
end   if  
 
if   name=1   then
      sql="update   表名     set   字段名1=值,字段名2=值   where   username='"&trim(text1.text)&"'"
      rs.open   sql
end   if        


快速检索

最新资讯
热门点击