Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. Visual Basic
  4. Do I have to manually create a recordNumber as primary key in dataset?

Do I have to manually create a recordNumber as primary key in dataset?

Scheduled Pinned Locked Moved Visual Basic
databasehelpquestion
2 Posts 2 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • J Offline
    J Offline
    JUNEYT
    wrote on last edited by
    #1

    Hello, I am facing with a strange problem when I read values from a dataset table. When I make a new row entry in to datatable ("Expenses"), I assumed that it would generate the RecordNumber (Primary Key) as it has already been defined in the original database table. The record number uses auto increment (seed= 100, and AutoIncrement value = 5). However, when a make a new row entry into dataset table, it doesn't produce a new record number but -1. Do I have to manually create a RecordNumber to use in dataset table? When I tried to read from datatable and put the value into Listview, I realized that it puts explanation instead of RecordNumber into RecordNumber column in the Listview. If you know the solution, please let me know. Regards. WHERE DO I MAKE A MISTAKE?

                Dim NewRow As BPRO.ExpensesRow = BPRO.Expenses.NewRow()
    
                NewRow("CategoryNumber") = CInt(Category.SelectedValue)
                NewRow("Currency") = Currency.SelectedItem
                NewRow("PaidAs") = Paidas.SelectedItem
                NewRow("DateRecorded") = DatePaid.Value.ToShortDateString
                NewRow("Explanation") = Trim(Explanation.Text)
                NewRow("Amount") = CDec(Amount.Text)
                NewRow("CreditCardNumber") = CInt(Whichcreditcard.SelectedValue)
    
                BPRO.Expenses.Rows.Add(NewRow)
    
    
                ExpensesTableAdapter1.Insert(CInt(Category.SelectedValue), \_
                                             Currency.SelectedItem, \_
                                             Paidas.SelectedItem, \_
                                             DatePaid.Value.ToShortDateString, \_
                                             Trim(Explanation.Text), \_
                                             CDec(Amount.Text), \_
                                             CInt(Whichcreditcard.SelectedValue))
    
                LI.Text = xrow("RecordNumber")
                ListView1.Items.Add(LI)
    

    What a curious mind needs to discover knowledge is noting else than a pin-hole.

    D 1 Reply Last reply
    0
    • J JUNEYT

      Hello, I am facing with a strange problem when I read values from a dataset table. When I make a new row entry in to datatable ("Expenses"), I assumed that it would generate the RecordNumber (Primary Key) as it has already been defined in the original database table. The record number uses auto increment (seed= 100, and AutoIncrement value = 5). However, when a make a new row entry into dataset table, it doesn't produce a new record number but -1. Do I have to manually create a RecordNumber to use in dataset table? When I tried to read from datatable and put the value into Listview, I realized that it puts explanation instead of RecordNumber into RecordNumber column in the Listview. If you know the solution, please let me know. Regards. WHERE DO I MAKE A MISTAKE?

                  Dim NewRow As BPRO.ExpensesRow = BPRO.Expenses.NewRow()
      
                  NewRow("CategoryNumber") = CInt(Category.SelectedValue)
                  NewRow("Currency") = Currency.SelectedItem
                  NewRow("PaidAs") = Paidas.SelectedItem
                  NewRow("DateRecorded") = DatePaid.Value.ToShortDateString
                  NewRow("Explanation") = Trim(Explanation.Text)
                  NewRow("Amount") = CDec(Amount.Text)
                  NewRow("CreditCardNumber") = CInt(Whichcreditcard.SelectedValue)
      
                  BPRO.Expenses.Rows.Add(NewRow)
      
      
                  ExpensesTableAdapter1.Insert(CInt(Category.SelectedValue), \_
                                               Currency.SelectedItem, \_
                                               Paidas.SelectedItem, \_
                                               DatePaid.Value.ToShortDateString, \_
                                               Trim(Explanation.Text), \_
                                               CDec(Amount.Text), \_
                                               CInt(Whichcreditcard.SelectedValue))
      
                  LI.Text = xrow("RecordNumber")
                  ListView1.Items.Add(LI)
      

      What a curious mind needs to discover knowledge is noting else than a pin-hole.

      D Offline
      D Offline
      Dave Kreskowiak
      wrote on last edited by
      #2

      JUNEYT wrote:

      it doesn't produce a new record number but -1.

      New records get negative numbers because the dataset hasn't been written back to the database yet. The database always assigns the key values, not your code. Update the database with the changes being held in the dataset and your new records will get their keys will get updated with real values.

      A guide to posting questions on CodeProject[^]
      Dave Kreskowiak Microsoft MVP Visual Developer - Visual Basic
           2006, 2007, 2008
      But no longer in 2009...

      1 Reply Last reply
      0
      Reply
      • Reply as topic
      Log in to reply
      • Oldest to Newest
      • Newest to Oldest
      • Most Votes


      • Login

      • Don't have an account? Register

      • Login or register to search.
      • First post
        Last post
      0
      • Categories
      • Recent
      • Tags
      • Popular
      • World
      • Users
      • Groups