VB 2010 OleDbCommand具有我为空的参数 [英] VB 2010 OleDbCommand with parameter that me be null

查看:131
本文介绍了VB 2010 OleDbCommand具有我为空的参数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

你好.

我有以下代码:

Hello.

I have this code:

Dim conz As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Bdados\CV_PARTS.accdb;Persist Security Info=False")
Dim cmd As New OleDbCommand("SELECT * FROM PECAS_IN WHERE Fornecedor = ?)", conz)



之后,我创建一个参数并将其分配给组合框的文本.假设我想通过将组合框保留为空来检索所有数据,我应该使用什么代码?我试过了:



After this I create a parameter and assign it to the text of a combobox. Supposing I want to retrieve all data by leaving the combobox empty what code should I use? I tried:

Dim cmd As New OleDbCommand("SELECT * FROM PECAS_IN WHERE (Fornecedor = ? OR Fornecedor Like "*")



但这是行不通的.正确的语法是什么?

谢谢.
Octavio



But it does not work. What is the correct syntax?

Thank you.
Octavio

推荐答案

首先,您不能在VB中使用像这样的双引号.

试试
First of all, you can''t use double quote like this in VB.

Try
Dim cmd As New OleDbCommand("SELECT * FROM PECAS_IN WHERE (Fornecedor = ? OR Fornecedor Like ""*""")


您好.

我尝试了您的解决方案,但仍然无法正常工作...

Octavio
Hello.

I tried your solution but it still does not work...

Octavio


嗨.

我发现了!

Hi.

I found out!

Dim cmd As New OleDbCommand("SELECT * FROM PECAS_IN WHERE Fornecedor LIKE ''%'' + ? + ''%''"



有点奇怪,但确实有效.就像在Oracle上使用SQL一样.



It''s a bit weird but it does work. Nothing like using SQL on Oracle, which is what i''m used to.


这篇关于VB 2010 OleDbCommand具有我为空的参数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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