我以前一直用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 请问我用于开发的电脑要装SQL server 2000吗(我已装了)?
2 请问C/S结构是不是要开发两个软件,服务器一个,客户机一个,还是只用开发客户机的软件,而服务器装了SQL server 2000就可以吗?还是其它的?
3 我下载了许多基于SQL的源代码,但都在说明时要在“每个项目子目录里面的sql目录里,将后缀.sql的文件打开后,拷贝到SQL Server 2000的查询分析器里。然后执行将产生需要的数据库结构。”我也用查询分析器执行了,但怎样才能产生数据库结构,运行时老出错,什么原因。我应该怎样才能用得成这个例子?
4 请问那有VB+SQL+C/S方面的源代码下载,哪怕是很简单都行!!
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
实时错误'-2147467259(80004005)'
用户''登陆失败。原因:未与信任SQL Server连接相关联。
默认uid=sa,pwd无
客户端的主要功能是将用户的操作程序化,起到一个显示结果的作用。流程:客户端---------------------------->服务器(SQL Server)
(具体操作请求)
客户端<----------------------------服务器(SQL Server)
(服务器响应用户请并返回结果)你可以这样理解:就像你上网一样,你在打开IE输入网址时(网页请求),它要等WEB服务器的响应,如果WEB服务器晌应了,那么就将页面返回给IE给我们浏览了。
用SQL时你原来的查询语句有可能需要进行更改其它不变
前提一定是把你原程序联到ODBC,如果你以前的直联到ACCESS那就要更改不少了
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则要改很多,不知对不对
把这两句改一下就可以了
第二种改的多一些
这种服务器不同于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到底要充分利用谁无法简单下定义
根本上应该是说充分利用服务器和工作站,而且应该看具体情况向哪方向倾斜
如果网络通信频繁,当然该尽量将请求给服务器做,而只传送结果,大大减少通信量
如果是计算复杂而且频繁而通信不成问题,则应该将请求放在工作站做