form参数化 jq_使用rdoPreparedStatement实现参数化查询 - 关于VB的经验之谈 - VB爱好者乐园(VBGood) - 关于VB的经验,电子教程,代码,控件,论坛,博客,微博...

使用rdoPreparedStatement实现参数化查询

南京富士通通信设备有限公司

孙亚民

---- 在Client/Server程序的设计中,使用查询参数对数据库进行检索,限制返回的结果集,是必须要考虑的一件事。在VB5.0中,提供了rdoPreparedStatement对象,利用该对象,可以实现交互式参数化查询,并且利用RDO的强劲功能。另外,由于它能附带预编译语句,可以使我们获取极快的执行速度。下面,举一个简单的例子。

---- 假设在SQL Server6.5中的数据库中有如下一个名为person的表:

姓名 籍贯 出生年月

张三 南京 1975.3.10

李四 上海 1976.8.3

王五 北京 1974.6.9

赵六 广州 1977.8.3

---- 现在我们要从该表中按照籍贯进行检索,可以按如下步骤进行:

---- 1.在控制面板的32位ODBC中为该数据库新建一数据源,DSN名字可取为“SQL Server6.5”。

---- 2.在VB5.0中新建一工程,选择Form1,并添加如下对象及属性:

对象 属性 值

CommandButton Name Command1

Caption “查询”

TextBox Name Text1

DBGrid Name DBGrid1

DataSource Msrdc1

MSRDC Name Msrdc1

DataSourceName “”

RecordSource “”

Connect “”

---- 3. 在表单的声明区添加如下代码:

Option Explicit

Dim env As rdoEnvironment

Dim cn As rdoConnection

Dim ps As rdoPreparedStatement

Dim rst As rdoResultset

---- 4. 在Form1的Load事件中添加如下代码:

Private Sub Form_Load()

Me.Top = (Screen.Height - Me.Height) / 2

Me.Left = (Screen.Width - Me.Width) / 2

Set env = rdoEnvironments(0)

Set cn = env.OpenConnection("SQL SERVER6.5")

Text1.Text=”请在此输入查询参数”

Text1.selLength=18

initt

End Sub

---- 其中initt过程的代码为:

Private Sub initt()

Dim ssql As String

ssql = “select* from person where 籍贯 like ?”

Set ps = cn.CreatePreparedStatement("ssql", ssql)

End Sub

---- 5. 最后,在Command1的Click事件中添加如下代码:

Private Sub Command1_Click()

ps.rdoParameters(0).Value = Text1.Text

Set rst = ps.OpenResultset

(rdConcurReadOnly, rdConcurReadOnly)

Set MSRDC1.Resultset=rst

MSRDC1.Refresh

End Sub

---- 此时,即可在Text1中输入查询参数,然后按”查询”按钮(Command1)进行查询了。各位在实际编程中可根据需要对此进行优化。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值