奇怪啊!请各位都进来看看这是什么原因?

aclan 2009-04-27 11:23:29
现有两个工程文件:bookky1和bookky2, 在bookky2里"按读者借阅情况检索"模块中连接到bookky2里的数据库时,运行一个外键查询语句,要实现将查询结果显示在datagrid中,执行了语句却没有结果显示出来,但是在这句上面的查询读者名的查询语句却可以将结果显示在相应的textbox中,而这两个查询语句均是连接到bookky2里的数据库。若将数据库换成连接到bookky1里的数据库,外键查询语句却能将结果显示在datagrid中,请问这是为什么?代码:
'用下面这个连接字符串datagrid中没结果
Dim con As New SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename=d:\bookky2\book\Database1.mdf;Integrated Security=True;User Instance=True")
'用下面这个连接字符串datagrid中有结果
'Dim con As New SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename=d:\bookky\book\Database1.mdf;Integrated Security=True;User Instance=True")
con.Open()
Dim cmd As New SqlCommand("select rno from readerinfo where [rno]='" & TextBox1.Text.Trim & "'", con)
Dim reader As SqlDataReader
reader = cmd.ExecuteReader()
If reader.Read Then
reader.Close()
Dim cmd1 As New SqlCommand("select rname from readerinfo where rno='" & Me.TextBox1.Text.Trim & "'", con)
Me.TextBox2.Text = cmd1.ExecuteScalar().ToString()

Dim myda As New SqlDataAdapter("SELECT bookinfo.bno, bookinfo.bname, lendinfo.lenddate,lendinfo.returndate FROM bookinfo INNER JOIN lendinfo ON bookinfo.bno = lendinfo.bno INNER JOIN readerinfo ON lendinfo.rno = readerinfo.rno where readerinfo.rno='" & TextBox1.Text & "'", con)
Dim myds As New DataSet
' 当把bookinfo改成booklend或readerinfo都可以
myda.Fill(myds, "bookinfo")
Me.DataGrid1.DataSource = myds
Me.DataGrid1.DataMember = "bookinfo"
Else
MsgBox("没有这个读者的记录,请重新输入读者号!")
End If
con.Close()

注:这两个数据库完全一样,且数据库的路径没有错误。请高手给指导一下,多谢!!
...全文
73 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
CeleryZeng 2009-04-28
  • 打赏
  • 举报
回复
不会VB只会VS来学习哈~~~
knightwayne 2009-04-28
  • 打赏
  • 举报
回复
运行一个外键查询语句,要实现将查询结果显示在datagrid中,执行了语句却没有结果显示出来,但是在这句上面的查询读者名的查询语句却可以将结果显示在相应的textbox中,而这两个查询语句均是连接到bookky2里的数据库

建议LZ检查SQL语句的正确性.

16,553

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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