?
Solved

How do I update a sql database with data from a text box on a form?

Posted on 2008-10-12
7
Medium Priority
?
408 Views
Last Modified: 2012-05-05
I'm new to VB.Net and I need to know how to insert a new record in a sql table from data in two text boxes on a form called txtFirstName and txtLastName. Also the sql table has a CustID field which is the index, it's not auto generated so I need to increment it by one when a record is inserted. Thank you for your help.
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
 
        Dim dbConnection As New SqlConnection("Data Source=192.168.0.4,1433;Network Library=DBMSSOCN;Initial Catalog=TestData;User ID=sa;Password=password;")
 
        Dim queryString As String = "SELECT * FROM dbo.Patient"
 
        Dim dataAdapter As SqlDataAdapter = New SqlDataAdapter( _
          queryString, dbConnection)
 
        dbConnection.Open()
 
        Dim tblCustomer As DataSet = New DataSet
        dataAdapter.Fill(tblCustomer, "Customer")
 
        MISSING CODE GOES HERE
 
 
        dbConnection.Close()
 
 
 
 
    End Sub

Open in new window

0
Comment
Question by:rfgraham
[X]
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
  • 3
  • 2
  • 2
7 Comments
 
LVL 4

Expert Comment

by:sijishJohn
ID: 22700292
use this to increment the CustID field

select Max(CustID)+1 from <tablename>

Refer this link

http://www.java2s.com/Code/ASP/ADO.net-Database/GenerateSQLinsertcommandVBnet.htm
0
 

Author Comment

by:rfgraham
ID: 22700389
sijishJohn,

I made a change in my sql db table to use Identity, which is for incrementing my ID field when a record is added.

I'm connecting to a sql db on another computer so I'm using:
"Imports System.Data.SqlClient" in the General Declarations of my code window.
0
 
LVL 48

Expert Comment

by:jpaulino
ID: 22700882
>>I made a change in my sql db table to use Identity, which is for incrementing my ID field when a record is added.

That way you only need to insert the fields ... don't use the CustID in the Transact SQL command.
The example that sijishJohn has showed you is for Access and for SQL is a little (no to much) different.
Check this example that I have posted:
http://www.experts-exchange.com/Programming/Languages/.NET/Visual_Basic.NET/Q_23349839.html 
0
Use Case: Protecting a Hybrid Cloud Infrastructure

Microsoft Azure is rapidly becoming the norm in dynamic IT environments. This document describes the challenges that organizations face when protecting data in a hybrid cloud IT environment and presents a use case to demonstrate how Acronis Backup protects all data.

 
LVL 4

Expert Comment

by:sijishJohn
ID: 22700904
Ok then this will be enough...
Dim conn As New SqlConnection("Data Source=192.168.0.4,1433;Network Library=DBMSSOCN;Initial Catalog=TestData;User ID=sa;Password=password;")
        conn.Open()
        Dim strSQL As String = "INSERT INTO <table name> (FirsName, LastName) VALUES (?, ?)"
 
        Dim dbComm As New SqlCommand(strSQL, conn)
        dbComm.Parameters.Add("FirstName", SqlDbType.VarChar)
        dbComm.Parameters.Add("LastName", SqlDbType.VarChar)
 
        dbComm.Parameters("FirstName").Value = txtFirstName.Text
        dbComm.Parameters("LastName").Value = txtLastName.Text
 
        dbComm.ExecuteNonQuery()
        conn.Close()

Open in new window

0
 
LVL 4

Accepted Solution

by:
sijishJohn earned 2000 total points
ID: 22701051
Oops...
what jpaulino said was right..that was not the sql code..sorry to mislead you..

Dim conn As New SqlConnection("Data Source=192.168.0.4,1433;Network Library=DBMSSOCN;Initial Catalog=TestData;User ID=sa;Password=password;")
        conn.Open()
        Dim strSQL As String = "INSERT INTO <Your Table Name> (<Field1>, <field2>) VALUES (@First, @Last)"
 
        Dim dbComm As New SqlCommand(strSQL, conn)
        dbComm.Parameters.Add("@First", SqlDbType.VarChar)
        dbComm.Parameters.Add("@Last", SqlDbType.VarChar)
 
        dbComm.Parameters("@First").Value = txtFirstName.Text
        dbComm.Parameters("@Last").Value = txtLastName.Text
 
        dbComm.ExecuteNonQuery()
        conn.Close()

Open in new window

0
 

Author Comment

by:rfgraham
ID: 22749975
Thanks for you help but I have a related question, maybe you'll know the answer to this one.
http://www.experts-exchange.com/Programming/Languages/.NET/Q_23826936.html
0
 
LVL 48

Expert Comment

by:jpaulino
ID: 22749989
Did you looked to my example ? Maybe not!
0

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

Question has a verified solution.

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

1.0 - Introduction Converting Visual Basic 6.0 (VB6) to Visual Basic 2008+ (VB.NET). If ever there was a subject full of murkiness and bad decisions, it is this one!   The first problem seems to be that people considering this task of converting…
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.
Add bar graphs to Access queries using Unicode block characters. Graphs appear on every record in the color you want. Give life to numbers. Hopes this gives you ideas on visualizing your data in new ways ~ Create a calculated field in a query: …
In this video, Percona Solutions Engineer Barrett Chambers discusses some of the basic syntax differences between MySQL and MongoDB. To learn more check out our webinar on MongoDB administration for MySQL DBA: https://www.percona.com/resources/we…

770 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