Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people, just like you, are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
Solved

A question about "error converting data type varchar to int".

Posted on 2006-07-18
8
261 Views
Last Modified: 2008-02-01
When I run below code (in the try...catch... block), I kept getting error message:"error converting data type varchar to int". I checked the database table and the variables in the program, there is no where defined as int type, all are varchar type. So why does this message show up? It's related with the output parameter in stored proc? Thanks a lot for any suggestions!

The simplified code block:

        objCmd = New OleDb.OleDbCommand
        objCmd.CommandText = "dbo.usp_CheckStatus"
        objCmd.Parameters.Add("@status_message", SqlDbType.VarChar)
        objCmd.Parameters("@status_message").Direction = ParameterDirection.Output

        objCmd.CommandType = CommandType.StoredProcedure
        objCmd.Connection = objConn

        Try
            objCmd.ExecuteNonQuery()
        Catch ex As OleDbException '
            MessageBox.Show(ex.Message)
        End Try

The simplified stored proc:

create proc usp_CheckStatus
@status_message varchar(20) out
as
set @status_message = 'abcde'      
return
0
Comment
Question by:heyday2004
8 Comments
 
LVL 43

Expert Comment

by:TimCottee
ID: 17129135
Hi heyday2004,

Can we see the rest of the sp? Does it still happen even with your simplified sp?

Tim Cottee
0
 
LVL 23

Expert Comment

by:apresto
ID: 17129144
Hi heyday2004,

If you run the stored proc command in query analyser do you get the sam error? If so the prob is with proc not code in which case we can move on from there, try it out

Apresto
0
 
LVL 23

Expert Comment

by:apresto
ID: 17129148
DECLARE @MyVar varchar(20)
exec usp_CheckStatus @MyVar
Print @MyVar

run that in query analyser
0
Networking for the Cloud Era

Join Microsoft and Riverbed for a discussion and demonstration of enhancements to SteelConnect:
-One-click orchestration and cloud connectivity in Azure environments
-Tight integration of SD-WAN and WAN optimization capabilities
-Scalability and resiliency equal to a data center

 

Author Comment

by:heyday2004
ID: 17129315
Thanks for the reply. That's the whole stored proc, I've simplified to that extent but still couldn't find out the problem. It's still reporting :"error converting data type varchar to int". I guess it's related with the output parameter? BTW, it runs good in query analyzer. What does your above query mean? I ran it and returns nothing although succeeded, i think that's the right result. Anyway, any further suggestion is really appreciated. Thanks.
0
 
LVL 23

Assisted Solution

by:apresto
apresto earned 50 total points
ID: 17129335
if it printed nothing it means @status_message  isnt being set or returned, the query above, executes the stored proc and prints the output paramater
0
 

Author Comment

by:heyday2004
ID: 17129438
Yeah, anywhere is wrong in the program in using the output parameter?  Thanks.
0
 
LVL 6

Accepted Solution

by:
Nandakumar Sakthivel earned 450 total points
ID: 17129478
Hi,
   Just replace "SqlDbType.VarChar" with "OleDb.OleDbType.VarChar" as specified below

            objCmd.Parameters.Add("@status_message", OleDb.OleDbType.VarChar, 200)
            objCmd.Parameters("@status_message").Direction = ParameterDirection.Output

Thanks,
Nanda
0
 

Author Comment

by:heyday2004
ID: 17129737
Thanks a lot. Great help for me.
0

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

Creating an analog clock UserControl seems fairly straight forward.  It is, after all, essentially just a circle with several lines in it!  Two common approaches for rendering an analog clock typically involve either manually calculating points with…
If you need to start windows update installation remotely or as a scheduled task you will find this very helpful.
This video shows how to quickly and easily add an email signature for all users on Exchange 2016. The resulting signature is applied on a server level by Exchange Online. The email signature template has been downloaded from: www.mail-signatures…
This video shows how to use Hyena, from SystemTools Software, to bulk import 100 user accounts from an external text file. View in 1080p for best video quality.

838 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