+ -
当前位置:首页 → 问答吧 → 为什么老是提示"至少一个参数没有被指定值啊"(出现在ADO联接数据库)

为什么老是提示"至少一个参数没有被指定值啊"(出现在ADO联接数据库)

时间:2008-08-04

来源:互联网

以前都是用控件直接连接ACCESS2K数据库,现在想有选择的取得数据库里一定字段,觉得控件不好用,就换成语句模式.现将编程思想简单说明:
 利用ADO(控件或语句方法)连接数据库,使用SELECT语句将符合某个条件的一些字段定义成Recordset,然后将其显示在DATAGRID框中.

一.使用控件方法的问题:
我在FORM上选择了ADODC和DATAGRID控件.
ADODC1控件属性:

CONNECTIONSTRING="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\sl\main.mdb;Persist Security Info=False"
连接测试成功.
但接着我想把MAIN.MDB中的HZMC表中的HZMC字段=AAA的记录全部挑出来做RECORDSET该如何做?我知道可在ADODC1属性"RECORDSOURCE"里选择"命令类型"为"1-ADCMDTEXT",然后输入SQL语句.但问题是这个AAA我是变量,是根据我程序变化而变化的!!那应该怎么办?如何让这个ADCMDTEXT根据我某个文本框的内容变化而发生SQL语句变化?

二.使用语句控制问题:
Private Sub Form_Load()


Dim strConn As String
Dim pubConn As New ADODB.Connection
Dim rsTable As New ADODB.Recordset
Dim strSQL As String
Dim hzmc As String
Text5.Text = "AAA"
hzmc = Trim(Text5.Text)

strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\sl\main.mdb;Persist Security Info=False"
pubConn.Open strConn

rsTable.CursorLocation = adUseClient
'strSQL = "select * from ddmx where hzmc= '" & hzmc & "'"
'由于没有掌握如何在语句中插入变量的方法,所以我在下面直接用常量来替换变量先试试看能不能正常运行,HZMC字段是文本格式
strSQL = "select * from ddmx where hzmc=AAA"
'我还特意显示了一下SQL语句,看看有没有错
MsgBox strSQL

Set rsTable = pubConn.Execute(strSQL)
'这个语句执行完后,立即报错:'实时错误'-2147217904(80040E10)'至少有一个参数没有被指定值


这该怎么办啊?!拜托各位了!!!!

插入变量有没有相关的专业文章,发一个给小弟,不胜感谢.
小弟初来乍到,没分给.下次一定给各位大侠捧场.


End Sub

作者: daywalkersdad   发布时间: 2008-08-04

晕死啊~~
我重启了一下电脑,居然现在不提示错误,直接用命令方式连接ACCESS数据库成功?!?!

但问题随之而来,如何通过命令方式给DATAGRID1.DATASOURCE赋予RSTABLE表的记录???

我使用的命令是:
Set DataGrid1.DataSource = rsTable

拜托。。。

作者: daywalkersdad   发布时间: 2008-08-04

搞什么啊~!我稍等了一会儿,再运行工程,居然又可以了!!这是为什么?
难道还有个延时的问题?

作者: daywalkersdad   发布时间: 2008-08-04

我也是遇到了这个问题,希望有大侠能帮忙解决下啊

作者: liangding410   发布时间: 2011-11-24

热门下载

更多