在SQL中有这样一张表:
sno sname sex
1 ff f
2 jg m
3 df m
现在有这么一个问题
就是说通过学号来查找另外两个属性
具体的说就是在一个text1中你输入你要查找的人的学号,比如说是1号
然后按确定按钮再你设置好的另外两个TEXT2,TEXT3中输出同一元组中的元素:
ff 和 f
具体代码怎么写呀
我对这个不是很懂
越具体越好
谢谢了!
...全文
9911打赏收藏
初学者问题,在线等待!
在SQL中有这样一张表: sno sname sex 1 ff f 2 jg m 3 df m 现在有这么一个问题 就是说通过学号来查找另外两个属性 具体的说就是在一个text1中你输入你要查找的人的学号,比如说是1号 然后按确定按钮再你设置好的另外两个TEXT2,TEXT3中输出同一元组中的元素: ff 和 f 具体代码怎么写呀 我对这个不是很懂 越具体越好 谢谢了!
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
你肯定是错误的啦
将这句:Dim mrc As ADODB.Recordset
改为:Dim mrc As new ADODB.Recordset
------------------
或者写为:
Dim mrc As ADODB.Recordset
set mrc=new adodb.recrodset
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块变量未设置>”
这是怎么回事呀
帮帮忙看一下
如果分不够的话可以再加
谢先!
先引用->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
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