我以前一直用VB+Access开发数据库,现想开发一个基于C/S结构的数据库软件,准备用SQL,但我不知如何下手。
1 请问我用于开发的电脑要装SQL server 2000吗(我已装了)?
2 请问C/S结构是不是要开发两个软件,服务器一个,客户机一个,还是只用开发客户机的软件,而服务器装了SQL server 2000就可以吗?还是其它的?
3 我下载了许多基于SQL的源代码,但都在说明时要在“每个项目子目录里面的sql目录里,将后缀.sql的文件打开后,拷贝到SQL Server 2000的查询分析器里。然后执行将产生需要的数据库结构。”我也用查询分析器执行了,但怎样才能产生数据库结构,运行时老出错,什么原因。我应该怎样才能用得成这个例子?
4 请问那有VB+SQL+C/S方面的源代码下载,哪怕是很简单都行!!

解决方案 »

  1.   

    C/S结构,即Client/Server(客户机/服务器)结构,将应用一分为二,服务器负责数据库,客户机负责完成与用户交互的任务。
        VB+Access转到VB+SQL Server最直接的变化:
    1、用于开发的电脑要装SQL server 2000,主要是为了调试程序方便。
    2、一般只用开发客户端的程序,服务端用SQL Server管理。
    3、可以用"SQL Server 企业管理器"建立数据库结构,与Access相似。
    4、VB调用数据库最好用ADO。简单示例:
    Dim cn  As New ADODB.Connection
    Dim sn As New ADODB.Recordset
    cn.ConnectionString = "provider=SQLOLEDB;server=服务器名;uid=sa;pwd=;database=数据库名"
    cn.CursorLocation = adUseClient
    cn.Open
    sn.Open "select * from 表1 where id=1", cn, adOpenDynamic, adLockOptimistic
    If sn.EOF Then
        sn.AddNew
    Else
        '无edit
    End If
    sn("字段1")="aaaa"
    sn.Update
    sn.close
    cn.Execute "delete from 表1 where 字段1='" &"aaaa" &"'"
    cn.close
      

  2.   

    Access的mdb可以转换为SQL格式吗?还有我以前用Access编的程序转到SQL server中很麻烦吗?
      

  3.   

    再问一下,uid是指什么?登陆用户名
      

  4.   

    谢谢,我机子的SQL server服务器已启动,并在程序中的uid和pwd用了winXP的用户名和密码,怎么会提示如下:
    实时错误'-2147467259(80004005)'
    用户''登陆失败。原因:未与信任SQL Server连接相关联。
      

  5.   

    程序中的uid和pwd用的不是winXP的用户名和密码,而是安装sql时设置的
    默认uid=sa,pwd无
      

  6.   

    原来是这样的,我装SQL时可能是随便用的用户名,因为我用sa时也提示“实时错误'-2147467259(80004005)'用户'sa'登陆失败。原因:未与信任SQL Server连接相关联。”我要重装SQL吗,还是其它的原因?
      

  7.   

    试试把sql server中数据库的安全性选项里面的身份验证选为sql server 和windows,看看有没有用
      

  8.   

    server是数据库的服务器端,所有的数据库文件是存储在服务器上的。所有的数据处理都是由它来处理的,简的可以看成是我们用户端要执行查询,那么服务器响应用户的请求,执行从用户端发送过来的查询语句,然后服务器执行,再然后就将查到的记录返回给客户端。
    客户端的主要功能是将用户的操作程序化,起到一个显示结果的作用。流程:客户端---------------------------->服务器(SQL Server)
                       (具体操作请求)             
          
          客户端<----------------------------服务器(SQL Server)
                  (服务器响应用户请并返回结果)你可以这样理解:就像你上网一样,你在打开IE输入网址时(网页请求),它要等WEB服务器的响应,如果WEB服务器晌应了,那么就将页面返回给IE给我们浏览了。
      

  9.   

    多谢多谢,我的问题基本弄清,最后一个问题:我以前用VB&Access编的程序转到SQL server中很麻烦吗?
      

  10.   

    让你的代码去连接ODBC这样不管你是用ACCESS或SQL都是一样的只不过
    用SQL时你原来的查询语句有可能需要进行更改其它不变
    前提一定是把你原程序联到ODBC,如果你以前的直联到ACCESS那就要更改不少了
      

  11.   

    我以前用的是这样的代码:
    1 用adod控件
    dim strapp
    strapp = "Provider=Microsoft.Jet.OLEDB.3.51;Persist Security Info=False;Data Source=" & App.Path & "mydat.mdb"
    Adodc1.ConnectionString = strapp
    Adodc1.CommandType = adCmdText
    Adodc1.RecordSource = "select * from 表1"
    Adodc1.Refresh
    2用data控件
    Data1.DatabaseName = App.Path + "\mydat.mdb"
    Data1.RecordSource = "表1"
    Data1.Refresh
    我估计用adodc倒不要改什么代码,如用data则要改很多,不知对不对
      

  12.   

    strapp = "Provider=Microsoft.Jet.OLEDB.3.51;Persist Security Info=False;Data Source=" & App.Path & "mydat.mdb"
    把这两句改一下就可以了
    第二种改的多一些
      

  13.   

    一般来说,C/S方式的系统指得是后台数据库的类型是基于数据库服务器,
    这种服务器不同于80年代的文件服务器。而对于数据库服务器,
    它的计算是在Server端进行。Server端接受客户端发送的SQL语句后进行计算,
    只将找到的结果返回给客户端。对于基于文件类型的数据库比如Access,
    所有商业逻辑计算完全在客户端完成。
    举例如下:
    有两台计算机,A机为客户机,B机为服务器。
    在A机上执行SELECT * FROM Products WHERE ProductID='0001';
    如果B机运行的是数据库服务器,如SQL Server;运行结果是客户端只返回1条记录。
    如果在B机上共享一目录data,其中存放ACCESS数据库。客户端会返回Products表中
    所有记录,再将找到的那一条记录返回给发出SQL语句的应用程序。
    这就是文件服务和数据库服务的差别!! 
    其实C/S到底要充分利用谁无法简单下定义
    根本上应该是说充分利用服务器和工作站,而且应该看具体情况向哪方向倾斜
    如果网络通信频繁,当然该尽量将请求给服务器做,而只传送结果,大大减少通信量
    如果是计算复杂而且频繁而通信不成问题,则应该将请求放在工作站做