设为首页收藏本站

融智技术学院

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 406|回复: 4

[求助] vb编程 sql数据库和access查询程序不一样?

[复制链接]
gdhyx1234 发表于 2014-9-12 11:15:29 | 显示全部楼层 |阅读模式
     我发现,在sql2000里不用循环就可以进行模糊查询,简单的一个select语句就可以了(代码见下);而将这种方法用在access数据库就行不通,只能查到一条.真的是这样的吗?  如果是这样的话,是不是意味着,用sql数据库会少一些代码?
        还是我在哪个地方搞错了?.

        '用于sql2000数据库进行模糊查询
        Option Explicit
              Dim conn As ADODB.Connection
              Dim rs As ADODB.Recordset
              Dim cmd As ADODB.Command

        Private Sub cmdquery_Click()
             If cbofield.Text = "学号" Then
                   cmd.CommandText = "select * from studentinfo where 学号=" & Val(Txtquery.Text)
             ElseIf cbofield.Text = "姓名" Then
                   cmd.CommandText = "select * from studentinfo where 姓名 like  '%" & (Txtquery.Text) & "%'"
             ElseIf cbofield.Text = "性别" Then
                   cmd.CommandText = "select * from studentinfo where 性别= '" & (Txtquery.Text) & "'"
            ElseIf cbofield.Text = "班级" Then
                   cmd.CommandText = "select * from studentinfo where 班级= '" & (Txtquery.Text) & "'"
            Else
                   cmd.CommandText = "select * from studentinfo where 类型= '" & (Txtquery.Text) & "'"
           End If
   
   
          Set rs = cmd.Execute
          Set MSHFlexGrid1.DataSource = rs
          rs.Close
      
         End Sub

       Private Sub Form_Load()
            Set conn = New ADODB.Connection
            Set rs = New ADODB.Recordset
            Set cmd = New ADODB.Command  
        conn.ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;password=0;Initial Catalog=dbstudent;Data Source=...."
        conn.Open
        cmd.CommandType = adCmdText
        cmd.ActiveConnection = conn
     
          cbofield.AddItem "学号"
          cbofield.AddItem "姓名"
          cbofield.AddItem "性别"
          cbofield.AddItem "班级"
          cbofield.AddItem "类型"
   
         End Sub

         Private Sub Form_Unload(Cancel As Integer)
            conn.Close
         End Sub
sxyufeng 发表于 2014-9-13 13:15:27 | 显示全部楼层
Access和SQL Server的SQL语法是有差别的。所以,在使用上还是需要注意的。
 楼主| gdhyx1234 发表于 2014-9-13 14:16:01 | 显示全部楼层
在设计时,用sql server 比access 好一些?起码代码会少一些吧
sxyufeng 发表于 2014-9-14 17:25:45 | 显示全部楼层
gdhyx1234 发表于 2014-9-13 14:16
在设计时,用sql server 比access 好一些?起码代码会少一些吧

实际都差不多。从我来看,Access的更省事情。因为Access下,很多VB的函数可以直接使用在SQL语言中。而SQL Server就不行了。

但是SQL Server提供更高级的功能,如存储过程、触发器,这是Access无法比拟的。

从小项目来说,Access肯定更好。大项目来说,当然是SQL Server了。
 楼主| gdhyx1234 发表于 2014-9-15 10:32:13 | 显示全部楼层
谢谢版主.接触过sql,但对access了解甚少,书上的例子用access 多,用sql的少,所以有此一问.再此谢谢sxyufeng周末来解答区区的问题!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

新突破电商

小黑屋|手机版|Archiver|融智技术学院 ( 京ICP备09018999号  

GMT+8, 2018-1-17 05:39

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表