传递参数以查询Access数据库 [英] Passing parameter to query for Access database

查看:218
本文介绍了传递参数以查询Access数据库的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

您好,
我正在使用,遵循代码,并且尝试通过给定参数获取数据.我不知道 to 如何将参数值> 传递给我的查询.

 Dim  con  As   OleDb.OleDbConnection
     Dim  ds  As  新建数据集
     Dim  da  As  OleDb.OleDbDataAdapter
     Dim  sql  As   String 

con.ConnectionString = " 
        con.Open()
        sql = " 
        da = 新建 OleDb.OleDbDataAdapter(sql,con)
        da.Fill(ds," )
        con.Close()

请指教.
谢谢
Furqan 

解决方案

尝试:

 sql = " 
da = 新建 OleDb.OleDbDataAdapter(sql,con)
da.SelectCommand.Parameters.AddWithValue(" ,名称)
da.SelectCommand.Parameters.AddWithValue(" ,城市)


您需要使用da.SelectCommand.Parameters.Add将参数按照它们在SQL语句中出现的顺序添加到数据适配器中.
请参见 OleDbDataAdapter.SelectCommand属性 [OleDbCommand.Parameters属性 [Hi, I am using following code and trying to get data by given parameters. I donot know how to pass the parameter value to my query. Dim con As New OleDb.OleDbConnection Dim ds As New DataSet Dim da As OleDb.OleDbDataAdapter Dim sql As String con.ConnectionString = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source = D:\.Net Programs\DB Experiments\AddressBook.mdb" con.Open() sql = "SELECT * FROM tblContacts where Name=? and City=?" da = New OleDb.OleDbDataAdapter(sql, con) da.Fill(ds, "AddressBook") con.Close() Please advise. Thanks Furqan

解决方案

Try:

sql = "SELECT * FROM tblContacts where Name=@NM and City=@CT"
da = New OleDb.OleDbDataAdapter(sql, con)
da.SelectCommand.Parameters.AddWithValue("@NM", name)
da.SelectCommand.Parameters.AddWithValue("@CT", city)


You need to add the parameters to your data adapter using da.SelectCommand.Parameters.Add in the order they appear in the SQL statement.

See
OleDbDataAdapter.SelectCommand Property[^] and OleDbCommand.Parameters Property[^] for details.


这篇关于传递参数以查询Access数据库的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆