Solved

vb .net pass value to sql parameter

Posted on 2009-05-06
14
399 Views
Last Modified: 2012-05-06
Hi,
I want to pass the Null value to an sql parameter.
but I get an error when I run it parameter @aad needs value
code :
Form2.SqlDataAdapter2.SelectCommand.Parameters.Item(0).SqlValue = DBNull.Value
Form2.SqlDataAdapter2.SelectCommand.Parameters.Item(1).Value = TextBox1.Text

sql :
SELECT     *
FROM         Taxinomisi_fortotikon
WHERE     (aa LIKE @aad) OR
                      (date_fortosis LIKE @datef)


Kyriakos
0
Comment
Question by:kyriakos70
  • 8
  • 6
14 Comments
 
LVL 48

Expert Comment

by:jpaulino
ID: 24312574
Hi,
You should change the parameter to:
Form2.SqlDataAdapter2.SelectCommand.Parameters("@aad", SqlDbType.VarChar).Value = DBNull.Value

and change the T-SQL to:
WHERE     (@aad IS NULL OR aa LIKE @aad) OR
 
 
0
 

Author Comment

by:kyriakos70
ID: 24312794
Hello,
The same needs value. I want to use this version of solution.
0
 
LVL 48

Expert Comment

by:jpaulino
ID: 24312902
The same needs value. I want to use this version of solution.
 Don't understand!!!
0
 

Author Comment

by:kyriakos70
ID: 24312928
Because I want to use complex statements.
eg. select * from table where aa like a or bb like @b and dd between @a and @b.
0
 
LVL 48

Accepted Solution

by:
jpaulino earned 500 total points
ID: 24313017
WHERE   (@aad IS NULL OR aa LIKE @aad) OR

I still don't understand your problem. If you use something like this you can pass a null parameter and still show all the results.
0
 

Author Comment

by:kyriakos70
ID: 24313024
this doesn't work

You should change the parameter to:
Form2.SqlDataAdapter2.SelectCommand.Parameters("@aad", SqlDbType.VarChar).Value = DBNull.Value
and change the T-SQL to:
WHERE     (@aad IS NULL OR aa LIKE @aad)
it keeps telling me @aad expects parameter.

0
 
LVL 48

Expert Comment

by:jpaulino
ID: 24313936
Are you using stored procedures ?
0
Free Trending Threat Insights Every Day

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

 
LVL 48

Expert Comment

by:jpaulino
ID: 24314399
The T-SQL command should be like this:
WHERE  (@aad IS NULL OR aa LIKE '%' + @aad + '%')
 
If this doesn't work can you show the code you have ?
0
 

Author Comment

by:kyriakos70
ID: 24315748
SELECT    * FROM         Taxinomisi_fortotikon
WHERE     (aa LIKE NULL OR aa LIKE @aad) OR
                      (date_fortosis LIKE @datef OR @datef IS NULL)

I use the sql builder of the adapter and when I press the execute query it becomes splitted like this :
SELECT    * FROM         Taxinomisi_fortotikon
WHERE     (aa LIKE NULL) OR
                      (aa LIKE @aad) OR
                      (date_fortosis LIKE @datef) OR
                      (@datef IS NULL)

It is changing the sql.
0
 
LVL 48

Expert Comment

by:jpaulino
ID: 24315842
It should be this (check snippet) but you're using a date and you should define a period like this
 
@datef  BETWEEN @start AND @end

SELECT * FROM  Taxinomisi_fortotikon

WHERE  (@aad IS NULL OR aa LIKE '%' + @aad + '%') OR

       (@datef IS NULL OR date_fortosis = @datef)

Open in new window

0
 

Author Comment

by:kyriakos70
ID: 24315971
No it is not working, has the or operator it must work as is the or tells sql one or the other parameter?
0
 

Author Comment

by:kyriakos70
ID: 24316144
It is like I can't have 2 parameters, something is not good in the configuration of vs? sql server??
0
 

Author Comment

by:kyriakos70
ID: 24316669
aa is an integer type
0
 

Author Comment

by:kyriakos70
ID: 24327004
No not working, I just wanted to have a search option, I have tried another thing to change the command text of the sqldataadapter at run time but doesn't work either, any help?
0

Featured Post

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

Parsing a CSV file is a task that we are confronted with regularly, and although there are a vast number of means to do this, as a newbie, the field can be confusing and the tools can seem complex. A simple solution to parsing a customized CSV fi…
In this article we will get to know that how can we recover deleted data if it happens accidently. We really can recover deleted rows if we know the time when data is deleted by using the transaction log.
Internet Business Fax to Email Made Easy - With eFax Corporate (http://www.enterprise.efax.com), you'll receive a dedicated online fax number, which is used the same way as a typical analog fax number. You'll receive secure faxes in your email, fr…
Get a first impression of how PRTG looks and learn how it works.   This video is a short introduction to PRTG, as an initial overview or as a quick start for new PRTG users.

759 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

18 Experts available now in Live!

Get 1:1 Help Now