Solved

vb .net pass value to sql parameter

Posted on 2009-05-06
14
411 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
Ransomware-A Revenue Bonanza for Service Providers

Ransomware – malware that gets on your customers’ computers, encrypts their data, and extorts a hefty ransom for the decryption keys – is a surging new threat.  The purpose of this eBook is to educate the reader about ransomware attacks.

 
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

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

In this article I will describe the Backup & Restore method as one possible migration process and I will add the extra tasks needed for an upgrade when and where is applied so it will cover all.
Calculating holidays and working days is a function that is often needed yet it is not one found within the Framework. This article presents one approach to building a working-day calculator for use in .NET.
Both in life and business – not all partnerships are created equal. As the demand for cloud services increases, so do the number of self-proclaimed cloud partners. Asking the right questions up front in the partnership, will enable both parties …
As a trusted technology advisor to your customers you are likely getting the daily question of, ‘should I put this in the cloud?’ As customer demands for cloud services increases, companies will see a shift from traditional buying patterns to new…

920 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

16 Experts available now in Live!

Get 1:1 Help Now