« | August 2025 | » | 日 | 一 | 二 | 三 | 四 | 五 | 六 | | | | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | | | | | | | |
| 公告 |
暂无公告... |
Blog信息 |
blog名称:VFP及Sql Server拙笔 日志总数:46 评论数量:107 留言数量:0 访问次数:431172 建立时间:2005年5月12日 |

| |
[VFP与SQL]在Visual FoxPro中使用ADO数据源 文章收藏, 网上资源, 读书笔记, 软件技术
老瓷 发表于 2006/2/14 0:14:37 |
ADO是一种面向对象的数据连接方式,与ODBC有着许多相似之处。使用ADO作为数据源,首先需要一个建立一个连接对象(ADO Connection),这类似于ODBC的连接句柄;然后需要建立一个记录集合对象(ADO RecordSet),用于存放读取的数据,这类似于Visual FoxPro的临时表;最后便是使用记录集合的Open方法根据建立的连接对象,执行一个SQL查询语句,这类似SPT的SQLEXEC( )函数,该函数也是根据一个连接句柄来执行一个SQL查询。 1.建立连接(Connection)对象 ADO也同样支持ODBC数据源与字符串连接方式,如果使用ODBC数据源连接,可以建立一个文件数据源,步骤如下: (1)在“控制面板”中打开“ODBC数据源管理器”对话框,并选择“文件DSN”选项卡,如图20-60所示。 (2)单击对话框中的“添加”按钮,打开“创建新数据源”对话框,在驱动程序列表中选择SQL Server,如图20-61所示。 (3)单击“下一步”按钮,将出现如图20-62所示的画面,可以在文本框中输入要建立的数据源名称,如:LinkNor |
|
[VFP与SQL]调整本机日期时间与服务器日期时间一致 原创空间, 读书笔记, 心得体会, 事件记录, 日后处理, 软件技术, 电脑与网络
老瓷 发表于 2005/12/28 20:14:02 |
*!*调整本机日期时间与服务器日期时间一致( YYYY-MM-DD HH:MM:SS.FFF ) *!*以下cSqlStr及nCon为SQL查询串及连接句柄 cSqlStr="Select SysTime=Convert(Char,GetDate(),121)" &&取服务器本地当前日期时间(已转换为字符型) =SQLEXEC(nCon,cSqlStr,"SysDateTime") SELECT SysDateTime lcDateTime=ALLTRIM(SysDateTime.SysTime) USE in "SysDateTime" nYear=VAL(SUBSTR(lcDateTime,1,4)) &&取当前日期-年 nMonth=VAL(SUBSTR(lcDateTime,6 |
|
[VFP与SQL]在VFP中处理SQLSERVER的IMAGE字段的两种方法 原创空间, 随笔, 读书笔记, 心得体会, 事件记录, 日后处理, 软件技术
老瓷 发表于 2005/11/29 21:44:24 |
方法一:原理——SQLSERVER的IMAGE字段存储格式是十六进制字符串,将十六进制字符串通过转换成字符串后利用字符串与文件的互换函数FileToStr与StrToFile可得到需要的结果。 写入SQLSERVER中:利用FileToStr()函数将二进制文件转为字符串后,再转换为16进制字符串,然后写入SQLSERVER的IMAGE类型字段 从SQLSERVER中读:先从SQLSERVER中按SQLSERVER规定(单次最多8000字符)将16进制文件分节取得并合并,再利用StrToFile转换成二进制文件(注:这个“单次最多8000字符”规定,是不是真的存在,没有考证,姑且照用。亦有说一次性最大下载达到了16M的,不知真假)
以下为方式一的实际示例: **************************************************************************************** SET SAFETY OFF &n |
|
[VFP与SQL]SPT 起跳 -- BOE数据网络工作室 -- 陈纯 文章收藏, 网上资源, 读书笔记, 日后处理, 软件技术
老瓷 发表于 2005/11/28 9:13:04 |
细节描述 Visual FoxPro 的 SPT 技术快速入门
说在前面 熟悉 Fox 的朋友都知道,在 VFP 里我们可以使用远程视图 (Remote View) 和 SPT(SQL Pass Through) 技术控制远程异构数据库。这些技术其实是 VFP 对 ODBC 的 API 的封装,所以对于用户来说访问远程数据库就像操作传统的DBF一样简单。关于这两种技术的使用,完全可以洋洋洒洒地写下一本书,鉴于本文主题及篇幅,这里仅枚举 SPT 技术访问远程数据的应用。
SPT 与远程视图 很多人搞不懂有了远程视图这样直观、简单的工具,为什么还需要 SPT 呢?确实 SPT 较远程视图难以掌握,但细细体会你会发现:远程视图其实是对 SPT 的可视化工具!SPT 较远程视图更具威力,远程视图提供的功能只是 SPT 的一个子集。仔细探索两者优劣,我们发现:
SPT 的优势: 1. 一次得到多个Cursor 2. 执行除 Select 以外的其他 SQL 语句,如 Insert、Update、Delete等
|
|
[VFP与SQL]如何执行一个 SQL Server 服务器上的储存过程 文章收藏, 网上资源, 读书笔记, 心得体会, 软件技术
老瓷 发表于 2005/11/28 8:52:17 |
PUBLIC errval PUBLIC errmsg PUBLIC handle errval=0 errmsg=' ' sourcename= 'test' user= 'sa' passwd=''
******** 连接 * 为连接打开错误显示 =SQLSetProp(0,"DispWarning",.t.) handle=SQLConnect(sourcename,user,passwd) IF handle > 0 WAIT WINDOW '连接成功' NOWAIT ENDIF
******** 设置一些默认值 =SQLSetProp(handle,'Asynchronous',.f.) =SQLSetProp(handle,'BatchMode',.t.) =SQLSetProp(handle,'ConnectTimeOut',0) =SQLSetProp(handle,'Transactions',1)
err= |
|
[VFP与SQL]如何在 Visual FoxPro 中使用可创建 ADO 记录集 文章收藏, 网上资源, 读书笔记, 心得体会, 日后处理, 软件技术
老瓷 发表于 2005/11/28 8:44:03 |
概述 通常, 需要保存临时数据. ADO 2.x 允许在运行时创建记录子集来达到该目的.
更多信息 以下示例用一个 integer, varchar 和 date 日期字段创建一个 ADO 记录集, 添加两条记录到其中, 并在桌面上显示记录集中的所有字段的内容:
* 演示在 ADO 中创建一个临时记录集 * 程序创建一个记录集, 添加一个 integer, varchar * 和 date 字段, 添加两条记录, 并在桌面上显示 * 所有字段的内容
#DEFINE ADUSECLIENT 3 #DEFINE ADLOCKBATCHOPTIMISTIC 4 #DEFINE ADINTEGER 3   |
|
[VFP与SQL]如何在 Visual FoxPro 中使用 DataGrid ActiveX 控件 文章收藏, 网上资源, 读书笔记, 心得体会, 日后处理, 软件技术
老瓷 发表于 2005/11/28 8:41:05 |
概述 Microsoft DataGrid 控件 (Msdatgrd.ocx) 不能直接用 Microsoft Visual FoxPro 表作为数据源. 但是 DataGrid 控件可以绑定到一个 ActiveX Data Objects (ADO) 记录集. 本文说明如何从一个 Visual FoxPro 应用程序中绑定 DataGrid ActiveX 控件到一个 ADO 记录集.
为了实现这些代码的功能你必须安装了 Visual Studio Service Pack 3.
更多信息 注意: Microsoft DataGrid 尚未在 Microsoft Visual FoxPro 中测试并不被 Microsoft Visual FoxPro 支持.
为了绑定一个 DataGrid ActiveX 控件到一个 ADO 记录集, 一个记录集可以是 bookmarked 或一个客户端 ADO 记录集必须首先建立. 在该 ADO 记录集创建后, DataGrid.DataSource 属性可用于绑定控件到 ADO 记 |
|
[VFP与SQL]如何用 VFP 和 ADO Stream 对象来获取二进制数据 文章收藏, 网上资源, 读书笔记, 日后处理, 软件技术
老瓷 发表于 2005/11/28 8:37:07 |
概述 Visual FoxPro 具有用 ActiveX Data Objects (ADO) Stream 对象和记录集来处理 SQL Server 中的 Binary Large Object (BLOB) 数据的能力. BLOB 是一种包含二进制数如图形, 声音或编译后的代码的数据列类型. 从应用程序的观点看, 这些数据是 "无定型的". 在 SQL Server, 这些数据通常是大家知道的 "Image" 数据类型.
更多信息 以下示例代码假定你具有访问 Microsoft SQL Server 所必需的特权, 而且在你的 SQL Server 7.0 Pubs 示例数据库中有 pub_info 表.
在 Visual FoxPro 中创建一个新程序. 粘贴以下代码到该新程序中: CLEAR CLEAR ALL RELEASE ALL #DEFINE LOC_SQLSERVERNAME "Server" #DEFINE LOC_SQLUID "sa" #DEFINE LO |
|
[VFP与SQL]如何用 SPT 来发布一条 SELECT 到一个新的 SQL Server 表 文章收藏, 网上资源, 事件记录, 软件技术
老瓷 发表于 2005/11/28 8:25:17 |
为了发布一条 SQL SELECT 语句来创建一个新的 SQL Server 表, SQL Server 数据库的 select into/bulkcopy 选项必须是可用的. 在默认情况下, 对于新创建的 SQL Server 数据库, select into/bulkcopy 选项是不可用的. select into/bulkcopy 选项可以用 sp_dboption 储存过程来修改. 修改 select into/bulkcopy 选项状态的语法是:
sp_dboption 'pubs','select into/bulkcopy','true' -或者- sp_dboption 'pubs','select into/bulkcopy','false'
以下代码片断用 SQL Pass Through 来选择 Pubs 中的 Authors 表中的全部记录到一个名为 Mytable 的在 Pubs 数据库中的新表中:
*!* 注意请修改以下代码中的 SERVER= 节以反映你要连接的 SQ |
|
|