Solved

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

Posted on 2008-10-12
7
407 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
Comparison of Amazon Drive, Google Drive, OneDrive

What is Best for Backup: Amazon Drive, Google Drive or MS OneDrive? In this free whitepaper we look at their performance, pricing, and platform availability to help you decide which cloud drive is right for your situation. Download and read the results of our testing for free!

 
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 500 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

Windows Server 2016: All you need to know

Learn about Hyper-V features that increase functionality and usability of Microsoft Windows Server 2016. Also, throughout this eBook, you’ll find some basic PowerShell examples that will help you leverage the scripts in your environments!

Question has a verified solution.

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

This article explains how to reset the password of the sa account on a Microsoft SQL Server.  The steps in this article work in SQL 2005, 2008, 2008 R2, 2012, 2014 and 2016.
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.
If you're a developer or IT admin, you’re probably tasked with managing multiple websites, servers, applications, and levels of security on a daily basis. While this can be extremely time consuming, it can also be frustrating when systems aren't wor…
In this video we outline the Physical Segments view of NetCrunch network monitor. By following this brief how-to video, you will be able to learn how NetCrunch visualizes your network, how granular is the information collected, as well as where to f…

726 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