以下是引用aaaaaa在2016-5-3 14:35:58的发言:
VFP连接SQL是什么意思?
1. VFP连接到各类数据库的 SQL 语句的连接串的大全
http://www.
http://www.
http://www.
可以连接到;
◦dBASE
◦Excel
◦Text File
◦Visual FoxPro
◦Access database
◦SQL Server
◦Oracle
◦MySQL
◦AS400
◦Sybase
◦Sybase SQL AnyWhere
2. SQL 查询语言的教学
http://www.
http://www.
3. 这里也有 SQL Server 数据库大佬
比如:mywisdom88 同志等
我也是刚学的,才学了半年。
VFP连接SQL数据库,其实很简单的,
1、连接数据库
* cServer 是你装数据库电脑的名称,也可以是IP
* cUid 是登陆SQL的用户名称,自己用可以用 sa
* cPwd 登陆密码
* cdbs 数据库名称,比如 master
* 这样做的好处是,做成动态连接
cSqlStr=[driver=sql server;server=]+cServer+[;uid=]+cUid+[;pwd=]+cPwd+[;database=]+cdbs
nhandle=sqlstringconnect(cSqlStr)
if nhandle<0
messagebox("连接失败")
return
else
messagebox("连接成功")
*在SQL中建立1个表,用的语句,可以直接在SQL2000的查询分析器执行的语句
*建立表的语句很长,把他放到变量去。
text to cCreateStr NOSHOW TEXTMERGE PRETEXT 4
create table [dbo].[MyTest](name varchar(10),sex varchar(2),age int)
endtext
if sqlexec(nhandln, cCreateStr)>0
messagebox("建立表成功")
else
messagebox("建立表失败")
endif
* 在刚才建立的表上,插入新记录
cInsertStr="insert into MyTest(name,sex,age) values('张三','男',30)"
if sqlexec(nhandle,cInsertStr)>0
messagebox("增加记录成功")
else
messagebox("增加记录失败")
endif
*用参数,插入记录
name1="李四'
sex1="男"
age1=40
cInsertStr="insert into MyTest(name,sex,age) values(?name1,?sex1,?age1)"
if sqlexec(nhandle,cInsertStr)>0 && 也可以 sqlexec(nhandle,"insert into MyTest(name,sex,age) values(?name1,?sex1,?age1)")
messagebox("增加记录成功")
else
messagebox("增加记录失败")
endif
*查询数据
text to cSelectStr NOSHOW TEXTMERGE PRETEXT 4
select * from MyTest
where sex='男'
order by sex
endtext
if sqlexec(nhandle,cSelectStr,'MyTest')>0 &&这里多了个参数,就是表名,从SQL2000读取数据回来的表名
brow
endif
* 更新数据
text to cUpdateStr NOSHOW TEXTMERGE PRETEXT 4
update MyTest set age=20
where sex='男'
endtext
if sqlexec(nhandle,cUpdateStr)>0
messagebox("更新成功")
ELSE
messagebox("更新失败")
ENDIF
SQLDISCONNECT(nhandle) &&断开连接,如果你还要用,就不要断开
endif
*以上代码没测试,应该没什么问题的。