Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

Executing SQL Function in VB.NET

Posted on 2011-09-19
7
Medium Priority
?
247 Views
Last Modified: 2012-05-12
Hi Everyone,

I currently have a webform as a front end to capture and insert data into an MS SQL database.  I would like to execute a SQL function within my code but have no idea how to go about doing this.  the function's name is 'GetChannel' and it decodes the PBR's ID accordingly to get the right channel.  I've attached my current VB.NET code to insert data into the database.  Would someone be able to help me to call the sql function from my current code?

 
'Open connection string and insert data into the ST database
        
Dim ConnectionString As String
        Dim Connection As SqlConnection
        Dim Adapter As New SqlDataAdapter
        Dim sql As String



        ConnectionString = "Data Source=00.0.000.00;Initial Catalog=ST;User ID=user;pwd=pwd;"
        Connection = New SqlConnection(ConnectionString)

  sql = "insert into table (PBR_ID, Others_Details, Contact_Flag, Comments) VALUES (@PBRID, @Others, '" & ddlcontact.SelectedValue & "', @Comments);"

            Try
                Connection.Open()


                Adapter.InsertCommand = New SqlCommand(sql, Connection)

                Adapter.InsertCommand.Parameters.AddWithValue("@PBRID", tbpbrid.Text)
   Adapter.InsertCommand.Parameters.AddWithValue("@Others", tbneedsothers.Text)
                Adapter.InsertCommand.Parameters.AddWithValue("@Comments", tbcomments.Text)

Adapter.InsertCommand.ExecuteNonQuery()

                Response.Write("<span style='color: green'>Data Submitted</span>")

            Catch ex As Exception
                Response.Write("<span style='color: red>Data Not Submitted</span>")
            End Try

Open in new window


Much thanks!
0
Comment
Question by:sarah_siu
  • 3
  • 3
7 Comments
 
LVL 11

Expert Comment

by:Deepak Lakkad
ID: 36560898
Hi

try following code on line no 13

sql =  "insert into table (PBR_ID, Others_Details, Contact_Flag, Comments) VALUES (dbo.GetChannel(ARGUMENTS), @Others, '" & ddlcontact.SelectedValue & "', @Comments);"

replace dbo with your original schema and
ARUGMENTS with your real arguments

- Deepak Lakkad
0
 

Author Comment

by:sarah_siu
ID: 36560993
Thanks Deepaklakkad - i tried what you suggested but it's not inserting.  I am actually trying to insert the results from GetChannel Function into another field within the table.  I've included the changes... Not sure what i'm doing wrong...

'Open connection string and insert data into the service_Tracking database, ABM Coupon Data table
        Dim ConnectionString As String
        Dim Connection As SqlConnection
        Dim Adapter As New SqlDataAdapter
        Dim sql As String



        ConnectionString = "Data Source=00.0.000.00;Initial Catalog=ST;User ID=user;pwd=pwd;"
        Connection = New SqlConnection(ConnectionString)

       

            sql = "insert into Table(PBR_ID, Others_Details, Contact_Flag, Comments, Channel) VALUES (@PBRID, @Others, '" & ddlcontact.SelectedValue & "', @Comments, dbo.GetChannel(PBR_ID));"

            Try
                Connection.Open()


                Adapter.InsertCommand = New SqlCommand(sql, Connection)

                Adapter.InsertCommand.Parameters.AddWithValue("@PBRID", tbpbrid.Text)
                Adapter.InsertCommand.Parameters.AddWithValue("@Others", tbneedsothers.Text)
                Adapter.InsertCommand.Parameters.AddWithValue("@Comments", tbcomments.Text)

                Adapter.InsertCommand.ExecuteNonQuery()

                Response.Write("<span style='color: green'>Data Submitted</span>")

            Catch ex As Exception
                Response.Write("<span style='color: red>Data Not Submitted</span>")
            End Try

Open in new window

0
 
LVL 11

Accepted Solution

by:
Deepak Lakkad earned 2000 total points
ID: 36561227
hi

try following code

sql = "insert into Table(PBR_ID, Others_Details, Contact_Flag, Comments, Channel) VALUES (@PBRID, @Others, '" & ddlcontact.SelectedValue & "', @Comments, dbo.GetChannel(" & tbpbrid.Text & "));"

- Deepak Lakkad
0
NFR key for Veeam Agent for Linux

Veeam is happy to provide a free NFR license for one year.  It allows for the non‑production use and valid for five workstations and two servers. Veeam Agent for Linux is a simple backup tool for your Linux installations, both on‑premises and in the public cloud.

 

Author Comment

by:sarah_siu
ID: 36561361
I tried the above code and it's not working...

The SQL function is actually stored in the MSSQL database as oppose to a code on my side - does that make a difference?
0
 
LVL 11

Expert Comment

by:Deepak Lakkad
ID: 36561376
what's name of your schema is it dbo? if not pls change it

- Deepak Lakkad
0
 
LVL 21

Expert Comment

by:Alpesh Patel
ID: 36566487
Please provide the command type
0
 

Author Closing Comment

by:sarah_siu
ID: 36589422
Thanks deepaklakkad - and sorry for the delayed acceptance.
0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

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

Ready to get certified? Check out some courses that help you prepare for third-party exams.
Microsoft Access has a limit of 255 columns in a single table; SQL Server allows tables with over 255 columns, but reading that data is not necessarily simple.  The final solution for this task involved creating a custom text parser and then reading…
This videos aims to give the viewer a basic demonstration of how a user can query current session information by using the SYS_CONTEXT function
Viewers will learn how to use the UPDATE and DELETE statements to change or remove existing data from their tables. Make a table: Update a specific column given a specific row using the UPDATE statement: Remove a set of values using the DELETE s…

971 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