初学者问题,在线等待!

emmajiang 2004-06-25 06:40:08
在SQL中有这样一张表:
sno sname sex
1 ff f
2 jg m
3 df m
现在有这么一个问题
就是说通过学号来查找另外两个属性
具体的说就是在一个text1中你输入你要查找的人的学号,比如说是1号
然后按确定按钮再你设置好的另外两个TEXT2,TEXT3中输出同一元组中的元素:
ff 和 f
具体代码怎么写呀
我对这个不是很懂
越具体越好
谢谢了!
...全文
99 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
feiyun0112 2004-06-26
  • 打赏
  • 举报
回复
executesql 是什么函数,返回值是recordset吗?
artoksxb 2004-06-26
  • 打赏
  • 举报
回复
但从这句:If mrc.EOF= Flase Then 的地方说“mrc.EOF=<对象变量或with块变量未设置>”
就是因为我这句的原因啦:dim rs as adodb.recordset
--------------
现在是什么错误呢!
accp258 2004-06-26
  • 打赏
  • 举报
回复
dim rs as adodb.recordset
private sub command_click ()
set rs=new adodb.recordset
rs.activeconnection=""(连接自符串)
rs.open "select * from 表名 where sno=1",,adOpenKeyset ,adLockReadOnly
text2.text=rs!sname
text3.text=rs!sex
end sub
emmajiang 2004-06-26
  • 打赏
  • 举报
回复
artoksxb(◇飞侠◇)
我照你的方法改过了
可还是不行
郁闷呀
请大家帮帮我吧!
感激不尽
artoksxb 2004-06-26
  • 打赏
  • 举报
回复
你肯定是错误的啦
将这句:Dim mrc As ADODB.Recordset
改为:Dim mrc As new ADODB.Recordset
------------------
或者写为:
Dim mrc As ADODB.Recordset
set mrc=new adodb.recrodset
emmajiang 2004-06-25
  • 打赏
  • 举报
回复

Private Sub cmdok_Click()
Dim mrc As ADODB.Recordset
Dim txtsql As String
Dim msgtext As String
If Trim(txtsid.Text = "") Then
MsgBox "请输入学号!", vbOKOnly + vbExclamation, "警告"
txtsid.SetFocus
Exit Sub
End If
If Not IsNumeric(Trim(txtsid.Text)) Then
MsgBox "学号用数字,请输入数字!", vbOKOnly + vbExclamation, "警告"
Exit Sub
txtsid.SetFocus
End If
If Trim(txtname.Text = "") Then
MsgBox "请输入姓名!", vbOKOnly + vbExclamation, "警告"
txtname.SetFocus
Exit Sub
End If
If Trim(combogender.Text = "") Then
MsgBox "请输入性别!", vbOKOnly + vbExclamation, "警告"
combogender.SetFocus
Exit Sub
End If
If Trim(txtborndate.Text = "") Then
MsgBox "请输入出生日期!", vbOKOnly + vbExclamation, "警告"
txtborndate.SetFocus
Exit Sub
End If
If Trim(txtclass.Text = "") Then
MsgBox "请输入班级!", vbOKOnly + vbExclamation, "警告"
txtclass.SetFocus
Exit Sub
End If
If Trim(txttel.Text = "") Then
MsgBox "请输入联系电话!", vbOKOnly + vbExclamation, "警告"
txttel.SetFocus
Exit Sub
End If
If Trim(txtrudate.Text = "") Then
MsgBox "请输入入校日期!", vbOKOnly + vbExclamation, "警告"
txtrudate.SetFocus
Exit Sub
End If
If Trim(txtaddress.Text = "") Then
MsgBox "请输入家庭地址!", vbOKOnly + vbExclamation, "警告"
txtaddress.SetFocus
Exit Sub
End If

txtsql = "select * from student_info where student_id='" & Trim(txtsid.Text)& "'"
Set mrc = executesql(txtsql, msgtext)
If mrc.EOF= Flase Then
MsgBox "学号重复,请重新输入!", vbOKOnly + vbExclamation, "警告"
mrc.Close
txtsid.SetFocus
Else
mrc.Close
If Not IsDate(txtbordate.Text) Then
MsgBox "出生日期应输入日期格式(yyyy-mm-dd)!", vbOKOnly + vbExclamation, "警告"
txtborndate.SetFocus
Else
txtborndate = Format(txtborndate, "yyyy-mm-dd")
If Not IsDate(txtrudate.Text) Then
MsgBox "入校时间应输入日期格式(yyyy-mm-dd)!", vbOKOnly + vbExclamation, "警告"
txtrudate.SetFocus
Else
txtrudate = Format(txtborndate, "yyyy-mm-dd")
txtsql = "select * from student_info"
Set mrc = executesql(txtsql, msgtext)
mrc.AddNew
mrc.Fields(0) = Trim(txtsid.Text)
mrc.Fields(1) = Trim(txtname.Text)
mrc.Fields(2) = Trim(combogender.Text)
mrc.Fields(3) = Trim(txtborndate.Text)
mrc.Fields(4) = Trim(txtclass.Text)
mrc.Fields(5) = Trim(txttel.Text)
mrc.Fields(6) = Trim(txtrudate.Text)
mrc.Fields(7) = Trim(txtaddress.Text)
mrc.Fields(8) = Trim(txtcomment.Text)
mrc.Update
MsgBox "添加学籍信息成功!", vbOKOnly + vbExclamation, "警告"
mrc.Close
Me.Hide
End If
End If
End If
End Sub

其实我是这样写的
但是运行之后出现mrc的地方都有错误
If mrc.EOF= Flase Then 的地方说“mrc.EOF=<对象变量或with块变量未设置>”
这是怎么回事呀
帮帮忙看一下
如果分不够的话可以再加
谢先!
emmajiang 2004-06-25
  • 打赏
  • 举报
回复
还有就是数据库是用ODBC连的
这个有没有关系呀
emmajiang 2004-06-25
  • 打赏
  • 举报
回复
这种办法我也试过了
但是就是通不过
rs.Open "select * from table1 where sno='" & Trim(Text1) & "'",cn,adOpenKeyset ,adLockReadOnly
起初就是这一句过不了
是怎么回事呀
hnzbb 2004-06-25
  • 打赏
  • 举报
回复
up!
artoksxb 2004-06-25
  • 打赏
  • 举报
回复
先引用->microsoft Activex Data Object 2.6 Libary
-------
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset

Private Sub Command1_Click()
If rs.State = 1 Then rs.Close
'//打开表
rs.Open "select * from table1 where sno='" & Trim(Text1) & "'",cn,adOpenKeyset ,adLockReadOnly
If rs.EOF Or rs.BOF Then MsgBox "无记录"
Text2 = rs.Fields("sname")
Text3 = rs.Fields("sSex")
End Sub

Private Sub Form_Load()
Text1 = ""
Text2 = ""
Text3 = ""
cn.ConnectionString = "Driver={Sql server};server=SeverName;database=数据库名;UID=sa;Pwd="
cn.Open '/连接数据库
End Sub
饮水需思源 2004-06-25
  • 打赏
  • 举报
回复
dim conn as adodb.connection
dim rs as adodb.recordset
conn.connectionstring ....
conn.open

if rs.state=adstateopen then rs.close
rs.open "select sname,sex from tablename where sno='"& text1.text &"'",conn,adopenkeyset,adlockreadonly
if rs.recordcount>0 then
text2.text=rs!sname & ""
text3.text=rs!sex & ""
else
text2.text=""
text3.text=""
end if
rs.close
set rs=nothing

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧