Update requires a valid UpdateCommand

carlp22

Active member
Joined
Oct 3, 2006
Messages
31
Programming Experience
5-10
Hello,

I have a problem I can't get past. I'm getting the error "Update requires a valid UpdateCommand when passed DataRow collection with modified rows." when trying to update a dataset.

The details:
Using Visual Studio 2005 (VB 2005);
I used the dataset designer to configure the dataset;
I'm using Oracle, with Microsoft's Oracle data provider;
I drug the data set, from the Data Sources tab in VS, to a windows form using the datadridview option;

After changing row data, I click a "Save" button that runs this code -

Me.Validate()
Me.TblUserBindingSource.EndEdit()
Me.TblUserTableAdapter.Update(Me.DataSet_User.tblUser)

I have verified that:
there is a Primary Key on this table;
the Generate Update, Insert, and Delete statements checkbox is checked in the dataset designer.

Does Oracle generate these statements?

PLEASE - any suggestion are greatly needed.

Thanks,
Carl
 
Does Oracle generate these statements?

Something at the back of my mind tells me this is the problem, I remember seeing another post about it....

Cjard uses Oracle, hopefully he sees this post and can offer his ultimate wisdom to it. I'll see if I can find that post, it may of been something else, but I'm sure it was to do with updating...
 
Hello,

I have a problem I can't get past. I'm getting the error "Update requires a valid UpdateCommand when passed DataRow collection with modified rows." when trying to update a dataset.
The tableadapter in use has no Update sql statement. The designer was unable to generate one, and you did not provide it manually.

I have verified that:
there is a Primary Key on this table;
the Generate Update, Insert, and Delete statements checkbox is checked in the dataset designer.

Does Oracle generate these statements?
The dataset designer generates the statements and it is quite simplistic about its approach. One of the biggest problems with using oracle is that the designer will attempt to parse the query text using SQL Server-esque rules. As a result, it may get it completely wrong if the sql you have for your query is very Oracle specific, or performs joins.

I'd need to see the query text itself to help any further. Please also provide schema information for the table being queried
 
Thanks for the effort,

I have created a simple new project and I'll try to describe it as completely as possible.

I did an Add New Item - Dataset.
Drug 1 table (tblUsers) onto the designer.
In Advanced Options, "Generate Insert, Update, and Delete statements" is checked.

In the Choose Methods to Generate page of the TableAdapter Generation Wizard, the 'Fill a datatable', 'Return a datatable', 'Create methods to send updates directly to the database'.

I then chose the Data Sources tab, selected my dataset, selected the table and made sure that DataGridView was selected.

Then drug that table onto the form.

I added a DataGridView (of course), and DataSet, BindingSource, TableAdapter, and BindingNavigator to the form.


I ran the project and change a cell in the datagridview. Then click the Save icon in the BindingNavigator.

Private Sub TBLUSERBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TBLUSERBindingNavigatorSaveItem.Click
Me.Validate()
Me.TBLUSERBindingSource.EndEdit()
Me.TBLUSERTableAdapter.Update(Me.DataSet_Users.TBLUSER)
End Sub


I get the “Update requires a valid UpdateCommand when passed DataRow collection with modified rows.” On the .Update line.

That’s all there is to it. So, either the Microsoft Oracle data provider isn’t generating the Update sql or I’m missing something.




In the DataSet_Users.Designer.VB code, the following deals with the Update:

<System.Diagnostics.DebuggerNonUserCodeAttribute(), _
System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")> _
Public Overloads Overridable Function Update(ByVal dataTable As DataSet_Users.TBLUSERDataTable) As Integer
Return Me.Adapter.Update(dataTable)
End Function

<System.Diagnostics.DebuggerNonUserCodeAttribute(), _
System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")> _
Public Overloads Overridable Function Update(ByVal dataSet As DataSet_Users) As Integer
Return Me.Adapter.Update(dataSet, "TBLUSER")
End Function

<System.Diagnostics.DebuggerNonUserCodeAttribute(), _
System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")> _
Public Overloads Overridable Function Update(ByVal dataRow As System.Data.DataRow) As Integer
Return Me.Adapter.Update(New System.Data.DataRow() {dataRow})
End Function

<System.Diagnostics.DebuggerNonUserCodeAttribute(), _
System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")> _
Public Overloads Overridable Function Update(ByVal dataRows() As System.Data.DataRow) As Integer
Return Me.Adapter.Update(dataRows)
End Function


Thanks Again,
Carl
 
interesting!

Please open an oracle query tool and run the following:

DESCR <your table name>


Post the result

-

Also please open the DataSet1.xsd using an XML Editor, and paste here the entire xml of the dataset. Please use a CODE tag. Please paste the XML into notepad first, copy it out again then paste here. See http://www.vbdotnetforums.com/misc.php?do=bbcode for info on CODE tags
 
Results from "DESC"

This is what I got...

Oracle9i Enterprise Edition Release 9.2.0.6.0 - 64bit Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.6.0 - Production

SQL> desc tbluser
Name Null? Type
----------------------------------------- -------- ----------------
LOGINNAME NOT NULL VARCHAR2(20)
INITIALS VARCHAR2(4)
STATUS NOT NULL VARCHAR2(1)
FULLNAME VARCHAR2(50)
FIRSTNAME VARCHAR2(20)
LASTNAME VARCHAR2(30)
GROUPNAME VARCHAR2(50)

Carl
 
2 more items

Sorry, I didn't see the last couple of sentences!

1.) Here is the DataSet_Users.XSD (I think I did it correctly).

VB.NET:
<xs:element name="DataSet_Users" msdata:IsDataSet="true" msdata:UseCurrentLocale="true" msprop:Generator_UserDSName="DataSet_Users" msprop:Generator_DataSetName="DataSet_Users" xmlns:msprop="urn:schemas-microsoft-com:xml-msprop" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:complexType>
    <xs:choice minOccurs="0" maxOccurs="unbounded">
      <xs:element name="TBLUSER" msprop:Generator_UserTableName="TBLUSER" msprop:Generator_RowDeletedName="TBLUSERRowDeleted" msprop:Generator_TableClassName="TBLUSERDataTable" msprop:Generator_RowChangedName="TBLUSERRowChanged" msprop:Generator_RowClassName="TBLUSERRow" msprop:Generator_RowChangingName="TBLUSERRowChanging" msprop:Generator_RowEvArgName="TBLUSERRowChangeEvent" msprop:Generator_RowEvHandlerName="TBLUSERRowChangeEventHandler" msprop:Generator_TablePropName="TBLUSER" msprop:Generator_TableVarName="tableTBLUSER" msprop:Generator_RowDeletingName="TBLUSERRowDeleting">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="LOGINNAME" msprop:Generator_UserColumnName="LOGINNAME" msprop:Generator_ColumnPropNameInRow="LOGINNAME" msprop:Generator_ColumnVarNameInTable="columnLOGINNAME" msprop:Generator_ColumnPropNameInTable="LOGINNAMEColumn">
              <xs:simpleType>
                <xs:restriction base="xs:string">
                  <xs:maxLength value="20" />
                </xs:restriction>
              </xs:simpleType>
            </xs:element>
            <xs:element name="INITIALS" msprop:Generator_UserColumnName="INITIALS" msprop:Generator_ColumnPropNameInRow="INITIALS" msprop:Generator_ColumnVarNameInTable="columnINITIALS" msprop:Generator_ColumnPropNameInTable="INITIALSColumn" minOccurs="0">
              <xs:simpleType>
                <xs:restriction base="xs:string">
                  <xs:maxLength value="4" />
                </xs:restriction>
              </xs:simpleType>
            </xs:element>
            <xs:element name="STATUS" msprop:Generator_UserColumnName="STATUS" msprop:Generator_ColumnPropNameInRow="STATUS" msprop:Generator_ColumnVarNameInTable="columnSTATUS" msprop:Generator_ColumnPropNameInTable="STATUSColumn">
              <xs:simpleType>
                <xs:restriction base="xs:string">
                  <xs:maxLength value="1" />
                </xs:restriction>
              </xs:simpleType>
            </xs:element>
            <xs:element name="FULLNAME" msprop:Generator_UserColumnName="FULLNAME" msprop:Generator_ColumnPropNameInRow="FULLNAME" msprop:Generator_ColumnVarNameInTable="columnFULLNAME" msprop:Generator_ColumnPropNameInTable="FULLNAMEColumn" minOccurs="0">
              <xs:simpleType>
                <xs:restriction base="xs:string">
                  <xs:maxLength value="50" />
                </xs:restriction>
              </xs:simpleType>
            </xs:element>
            <xs:element name="FIRSTNAME" msprop:Generator_UserColumnName="FIRSTNAME" msprop:Generator_ColumnPropNameInRow="FIRSTNAME" msprop:Generator_ColumnVarNameInTable="columnFIRSTNAME" msprop:Generator_ColumnPropNameInTable="FIRSTNAMEColumn" minOccurs="0">
              <xs:simpleType>
                <xs:restriction base="xs:string">
                  <xs:maxLength value="20" />
                </xs:restriction>
              </xs:simpleType>
            </xs:element>
            <xs:element name="LASTNAME" msprop:Generator_UserColumnName="LASTNAME" msprop:Generator_ColumnPropNameInRow="LASTNAME" msprop:Generator_ColumnVarNameInTable="columnLASTNAME" msprop:Generator_ColumnPropNameInTable="LASTNAMEColumn" minOccurs="0">
              <xs:simpleType>
                <xs:restriction base="xs:string">
                  <xs:maxLength value="30" />
                </xs:restriction>
              </xs:simpleType>
            </xs:element>
            <xs:element name="GROUPNAME" msprop:Generator_UserColumnName="GROUPNAME" msprop:Generator_ColumnPropNameInRow="GROUPNAME" msprop:Generator_ColumnVarNameInTable="columnGROUPNAME" msprop:Generator_ColumnPropNameInTable="GROUPNAMEColumn" minOccurs="0">
              <xs:simpleType>
                <xs:restriction base="xs:string">
                  <xs:maxLength value="50" />
                </xs:restriction>
              </xs:simpleType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:choice>
  </xs:complexType>
  <xs:unique name="Constraint1" msdata:PrimaryKey="true">
    <xs:selector xpath=".//mstns:TBLUSER" />
    <xs:field xpath="mstns:LOGINNAME" />
  </xs:unique>
</xs:element>


_________________________________________________________________
2.) Here is DataSet_Users.Designer.VB

VB.NET:
'------------------------------------------------------------------------------
' <auto-generated>
'     This code was generated by a tool.
'     Runtime Version:2.0.50727.42
'
'     Changes to this file may cause incorrect behavior and will be lost if
'     the code is regenerated.
' </auto-generated>
'------------------------------------------------------------------------------

Option Strict Off
Option Explicit On

Imports System


<System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0"),  _
 Serializable(),  _
 System.ComponentModel.DesignerCategoryAttribute("code"),  _
 System.ComponentModel.ToolboxItem(true),  _
 System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedDataSetSchema"),  _
 System.Xml.Serialization.XmlRootAttribute("DataSet_Users"),  _
 System.ComponentModel.Design.HelpKeywordAttribute("vs.data.DataSet")>  _
Partial Public Class DataSet_Users
    Inherits System.Data.DataSet
    
    Private tableTBLUSER As TBLUSERDataTable
    
    Private _schemaSerializationMode As System.Data.SchemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema
    
    <System.Diagnostics.DebuggerNonUserCodeAttribute()>  _
    Public Sub New()
        MyBase.New
        Me.BeginInit
        Me.InitClass
        Dim schemaChangedHandler As System.ComponentModel.CollectionChangeEventHandler = AddressOf Me.SchemaChanged
        AddHandler MyBase.Tables.CollectionChanged, schemaChangedHandler
        AddHandler MyBase.Relations.CollectionChanged, schemaChangedHandler
        Me.EndInit
    End Sub
    
    <System.Diagnostics.DebuggerNonUserCodeAttribute()>  _
    Protected Sub New(ByVal info As System.Runtime.Serialization.SerializationInfo, ByVal context As System.Runtime.Serialization.StreamingContext)
        MyBase.New(info, context, false)
        If (Me.IsBinarySerialized(info, context) = true) Then
            Me.InitVars(false)
            Dim schemaChangedHandler1 As System.ComponentModel.CollectionChangeEventHandler = AddressOf Me.SchemaChanged
            AddHandler Me.Tables.CollectionChanged, schemaChangedHandler1
            AddHandler Me.Relations.CollectionChanged, schemaChangedHandler1
            Return
        End If
        Dim strSchema As String = CType(info.GetValue("XmlSchema", GetType(String)),String)
        If (Me.DetermineSchemaSerializationMode(info, context) = System.Data.SchemaSerializationMode.IncludeSchema) Then
            Dim ds As System.Data.DataSet = New System.Data.DataSet
            ds.ReadXmlSchema(New System.Xml.XmlTextReader(New System.IO.StringReader(strSchema)))
            If (Not (ds.Tables("TBLUSER")) Is Nothing) Then
                MyBase.Tables.Add(New TBLUSERDataTable(ds.Tables("TBLUSER")))
            End If
            Me.DataSetName = ds.DataSetName
            Me.Prefix = ds.Prefix
            Me.Namespace = ds.Namespace
            Me.Locale = ds.Locale
            Me.CaseSensitive = ds.CaseSensitive
            Me.EnforceConstraints = ds.EnforceConstraints
            Me.Merge(ds, false, System.Data.MissingSchemaAction.Add)
            Me.InitVars
        Else
            Me.ReadXmlSchema(New System.Xml.XmlTextReader(New System.IO.StringReader(strSchema)))
        End If
        Me.GetSerializationData(info, context)
        Dim schemaChangedHandler As System.ComponentModel.CollectionChangeEventHandler = AddressOf Me.SchemaChanged
        AddHandler MyBase.Tables.CollectionChanged, schemaChangedHandler
        AddHandler Me.Relations.CollectionChanged, schemaChangedHandler
    End Sub
    
    <System.Diagnostics.DebuggerNonUserCodeAttribute(),  _
     System.ComponentModel.Browsable(false),  _
     System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Content)>  _
    Public ReadOnly Property TBLUSER() As TBLUSERDataTable
        Get
            Return Me.tableTBLUSER
        End Get
    End Property
    
    <System.Diagnostics.DebuggerNonUserCodeAttribute(),  _
     System.ComponentModel.BrowsableAttribute(true),  _
     System.ComponentModel.DesignerSerializationVisibilityAttribute(System.ComponentModel.DesignerSerializationVisibility.Visible)>  _
    Public Overrides Property SchemaSerializationMode() As System.Data.SchemaSerializationMode
        Get
            Return Me._schemaSerializationMode
        End Get
        Set
            Me._schemaSerializationMode = value
        End Set
    End Property
    
    <System.Diagnostics.DebuggerNonUserCodeAttribute(),  _
     System.ComponentModel.DesignerSerializationVisibilityAttribute(System.ComponentModel.DesignerSerializationVisibility.Hidden)>  _
    Public Shadows ReadOnly Property Tables() As System.Data.DataTableCollection
        Get
            Return MyBase.Tables
        End Get
    End Property
    
    <System.Diagnostics.DebuggerNonUserCodeAttribute(),  _
     System.ComponentModel.DesignerSerializationVisibilityAttribute(System.ComponentModel.DesignerSerializationVisibility.Hidden)>  _
    Public Shadows ReadOnly Property Relations() As System.Data.DataRelationCollection
        Get
            Return MyBase.Relations
        End Get
    End Property
    
    <System.Diagnostics.DebuggerNonUserCodeAttribute()>  _
    Protected Overrides Sub InitializeDerivedDataSet()
        Me.BeginInit
        Me.InitClass
        Me.EndInit
    End Sub
    
    <System.Diagnostics.DebuggerNonUserCodeAttribute()>  _
    Public Overrides Function Clone() As System.Data.DataSet
        Dim cln As DataSet_Users = CType(MyBase.Clone,DataSet_Users)
        cln.InitVars
        cln.SchemaSerializationMode = Me.SchemaSerializationMode
        Return cln
    End Function
    
    <System.Diagnostics.DebuggerNonUserCodeAttribute()>  _
    Protected Overrides Function ShouldSerializeTables() As Boolean
        Return false
    End Function
    
    <System.Diagnostics.DebuggerNonUserCodeAttribute()>  _
    Protected Overrides Function ShouldSerializeRelations() As Boolean
        Return false
    End Function
    
    <System.Diagnostics.DebuggerNonUserCodeAttribute()>  _
    Protected Overrides Sub ReadXmlSerializable(ByVal reader As System.Xml.XmlReader)
        If (Me.DetermineSchemaSerializationMode(reader) = System.Data.SchemaSerializationMode.IncludeSchema) Then
            Me.Reset
            Dim ds As System.Data.DataSet = New System.Data.DataSet
            ds.ReadXml(reader)
            If (Not (ds.Tables("TBLUSER")) Is Nothing) Then
                MyBase.Tables.Add(New TBLUSERDataTable(ds.Tables("TBLUSER")))
            End If
            Me.DataSetName = ds.DataSetName
            Me.Prefix = ds.Prefix
            Me.Namespace = ds.Namespace
            Me.Locale = ds.Locale
            Me.CaseSensitive = ds.CaseSensitive
            Me.EnforceConstraints = ds.EnforceConstraints
            Me.Merge(ds, false, System.Data.MissingSchemaAction.Add)
            Me.InitVars
        Else
            Me.ReadXml(reader)
            Me.InitVars
        End If
    End Sub
    
    <System.Diagnostics.DebuggerNonUserCodeAttribute()>  _
    Protected Overrides Function GetSchemaSerializable() As System.Xml.Schema.XmlSchema
        Dim stream As System.IO.MemoryStream = New System.IO.MemoryStream
        Me.WriteXmlSchema(New System.Xml.XmlTextWriter(stream, Nothing))
        stream.Position = 0
        Return System.Xml.Schema.XmlSchema.Read(New System.Xml.XmlTextReader(stream), Nothing)
    End Function
    
    <System.Diagnostics.DebuggerNonUserCodeAttribute()>  _
    Friend Overloads Sub InitVars()
        Me.InitVars(true)
    End Sub
    
    <System.Diagnostics.DebuggerNonUserCodeAttribute()>  _
    Friend Overloads Sub InitVars(ByVal initTable As Boolean)
        Me.tableTBLUSER = CType(MyBase.Tables("TBLUSER"),TBLUSERDataTable)
        If (initTable = true) Then
            If (Not (Me.tableTBLUSER) Is Nothing) Then
                Me.tableTBLUSER.InitVars
            End If
        End If
    End Sub
    
    <System.Diagnostics.DebuggerNonUserCodeAttribute()>  _
    Private Sub InitClass()
        Me.DataSetName = "DataSet_Users"
        Me.Prefix = ""
        Me.Namespace = "http://tempuri.org/DataSet_Users.xsd"
        Me.EnforceConstraints = true
        Me.SchemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema
        Me.tableTBLUSER = New TBLUSERDataTable
        MyBase.Tables.Add(Me.tableTBLUSER)
    End Sub
    
    <System.Diagnostics.DebuggerNonUserCodeAttribute()>  _
    Private Function ShouldSerializeTBLUSER() As Boolean
        Return false
    End Function
    
    <System.Diagnostics.DebuggerNonUserCodeAttribute()>  _
    Private Sub SchemaChanged(ByVal sender As Object, ByVal e As System.ComponentModel.CollectionChangeEventArgs)
        If (e.Action = System.ComponentModel.CollectionChangeAction.Remove) Then
            Me.InitVars
        End If
    End Sub
    
    <System.Diagnostics.DebuggerNonUserCodeAttribute()>  _
    Public Shared Function GetTypedDataSetSchema(ByVal xs As System.Xml.Schema.XmlSchemaSet) As System.Xml.Schema.XmlSchemaComplexType
        Dim ds As DataSet_Users = New DataSet_Users
        Dim type As System.Xml.Schema.XmlSchemaComplexType = New System.Xml.Schema.XmlSchemaComplexType
        Dim sequence As System.Xml.Schema.XmlSchemaSequence = New System.Xml.Schema.XmlSchemaSequence
        xs.Add(ds.GetSchemaSerializable)
        Dim any As System.Xml.Schema.XmlSchemaAny = New System.Xml.Schema.XmlSchemaAny
        any.Namespace = ds.Namespace
        sequence.Items.Add(any)
        type.Particle = sequence
        Return type
    End Function
    
    Public Delegate Sub TBLUSERRowChangeEventHandler(ByVal sender As Object, ByVal e As TBLUSERRowChangeEvent)
    
    <System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0"),  _
     System.Serializable(),  _
     System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedTableSchema")>  _
    Partial Public Class TBLUSERDataTable
        Inherits System.Data.DataTable
        Implements System.Collections.IEnumerable
        
        Private columnLOGINNAME As System.Data.DataColumn
        
        Private columnINITIALS As System.Data.DataColumn
        
        Private columnSTATUS As System.Data.DataColumn
        
        Private columnFULLNAME As System.Data.DataColumn
        
        Private columnFIRSTNAME As System.Data.DataColumn
        
        Private columnLASTNAME As System.Data.DataColumn
        
        Private columnGROUPNAME As System.Data.DataColumn
        
        <System.Diagnostics.DebuggerNonUserCodeAttribute()>  _
        Public Sub New()
            MyBase.New
            Me.TableName = "TBLUSER"
            Me.BeginInit
            Me.InitClass
            Me.EndInit
        End Sub
        
        <System.Diagnostics.DebuggerNonUserCodeAttribute()>  _
        Friend Sub New(ByVal table As System.Data.DataTable)
            MyBase.New
            Me.TableName = table.TableName
            If (table.CaseSensitive <> table.DataSet.CaseSensitive) Then
                Me.CaseSensitive = table.CaseSensitive
            End If
            If (table.Locale.ToString <> table.DataSet.Locale.ToString) Then
                Me.Locale = table.Locale
            End If
            If (table.Namespace <> table.DataSet.Namespace) Then
                Me.Namespace = table.Namespace
            End If
            Me.Prefix = table.Prefix
            Me.MinimumCapacity = table.MinimumCapacity
        End Sub
        
        <System.Diagnostics.DebuggerNonUserCodeAttribute()>  _
        Protected Sub New(ByVal info As System.Runtime.Serialization.SerializationInfo, ByVal context As System.Runtime.Serialization.StreamingContext)
            MyBase.New(info, context)
            Me.InitVars
        End Sub
        
        <System.Diagnostics.DebuggerNonUserCodeAttribute()>  _
        Public ReadOnly Property LOGINNAMEColumn() As System.Data.DataColumn
            Get
                Return Me.columnLOGINNAME
            End Get
        End Property
        
        <System.Diagnostics.DebuggerNonUserCodeAttribute()>  _
        Public ReadOnly Property INITIALSColumn() As System.Data.DataColumn
            Get
                Return Me.columnINITIALS
            End Get
        End Property
        
        <System.Diagnostics.DebuggerNonUserCodeAttribute()>  _
        Public ReadOnly Property STATUSColumn() As System.Data.DataColumn
            Get
                Return Me.columnSTATUS
            End Get
        End Property
        
        <System.Diagnostics.DebuggerNonUserCodeAttribute()>  _
        Public ReadOnly Property FULLNAMEColumn() As System.Data.DataColumn
            Get
                Return Me.columnFULLNAME
            End Get
        End Property
        
        <System.Diagnostics.DebuggerNonUserCodeAttribute()>  _
        Public ReadOnly Property FIRSTNAMEColumn() As System.Data.DataColumn
            Get
                Return Me.columnFIRSTNAME
            End Get
        End Property
        
        <System.Diagnostics.DebuggerNonUserCodeAttribute()>  _
        Public ReadOnly Property LASTNAMEColumn() As System.Data.DataColumn
            Get
                Return Me.columnLASTNAME
            End Get
        End Property
        
        <System.Diagnostics.DebuggerNonUserCodeAttribute()>  _
        Public ReadOnly Property GROUPNAMEColumn() As System.Data.DataColumn
            Get
                Return Me.columnGROUPNAME
            End Get
        End Property
        
        <System.Diagnostics.DebuggerNonUserCodeAttribute(),  _
         System.ComponentModel.Browsable(false)>  _
        Public ReadOnly Property Count() As Integer
            Get
                Return Me.Rows.Count
            End Get
        End Property
        
        <System.Diagnostics.DebuggerNonUserCodeAttribute()>  _
        Public Default ReadOnly Property Item(ByVal index As Integer) As TBLUSERRow
            Get
                Return CType(Me.Rows(index),TBLUSERRow)
            End Get
        End Property
        
        Public Event TBLUSERRowChanging As TBLUSERRowChangeEventHandler
        
        Public Event TBLUSERRowChanged As TBLUSERRowChangeEventHandler
        
        Public Event TBLUSERRowDeleting As TBLUSERRowChangeEventHandler
        
        Public Event TBLUSERRowDeleted As TBLUSERRowChangeEventHandler
        
        <System.Diagnostics.DebuggerNonUserCodeAttribute()>  _
        Public Overloads Sub AddTBLUSERRow(ByVal row As TBLUSERRow)
            Me.Rows.Add(row)
        End Sub
        
        <System.Diagnostics.DebuggerNonUserCodeAttribute()>  _
        Public Overloads Function AddTBLUSERRow(ByVal LOGINNAME As String, ByVal INITIALS As String, ByVal STATUS As String, ByVal FULLNAME As String, ByVal FIRSTNAME As String, ByVal LASTNAME As String, ByVal GROUPNAME As String) As TBLUSERRow
            Dim rowTBLUSERRow As TBLUSERRow = CType(Me.NewRow,TBLUSERRow)
            rowTBLUSERRow.ItemArray = New Object() {LOGINNAME, INITIALS, STATUS, FULLNAME, FIRSTNAME, LASTNAME, GROUPNAME}
            Me.Rows.Add(rowTBLUSERRow)
            Return rowTBLUSERRow
        End Function
        
        <System.Diagnostics.DebuggerNonUserCodeAttribute()>  _
        Public Function FindByLOGINNAME(ByVal LOGINNAME As String) As TBLUSERRow
            Return CType(Me.Rows.Find(New Object() {LOGINNAME}),TBLUSERRow)
        End Function
        
        <System.Diagnostics.DebuggerNonUserCodeAttribute()>  _
        Public Overridable Function GetEnumerator() As System.Collections.IEnumerator Implements System.Collections.IEnumerable.GetEnumerator
            Return Me.Rows.GetEnumerator
        End Function
        
        <System.Diagnostics.DebuggerNonUserCodeAttribute()>  _
        Public Overrides Function Clone() As System.Data.DataTable
            Dim cln As TBLUSERDataTable = CType(MyBase.Clone,TBLUSERDataTable)
            cln.InitVars
            Return cln
        End Function
        
        <System.Diagnostics.DebuggerNonUserCodeAttribute()>  _
        Protected Overrides Function CreateInstance() As System.Data.DataTable
            Return New TBLUSERDataTable
        End Function
        
        <System.Diagnostics.DebuggerNonUserCodeAttribute()>  _
        Friend Sub InitVars()
            Me.columnLOGINNAME = MyBase.Columns("LOGINNAME")
            Me.columnINITIALS = MyBase.Columns("INITIALS")
            Me.columnSTATUS = MyBase.Columns("STATUS")
            Me.columnFULLNAME = MyBase.Columns("FULLNAME")
            Me.columnFIRSTNAME = MyBase.Columns("FIRSTNAME")
            Me.columnLASTNAME = MyBase.Columns("LASTNAME")
            Me.columnGROUPNAME = MyBase.Columns("GROUPNAME")
        End Sub
        
        <System.Diagnostics.DebuggerNonUserCodeAttribute()>  _
        Private Sub InitClass()
            Me.columnLOGINNAME = New System.Data.DataColumn("LOGINNAME", GetType(String), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnLOGINNAME)
            Me.columnINITIALS = New System.Data.DataColumn("INITIALS", GetType(String), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnINITIALS)
            Me.columnSTATUS = New System.Data.DataColumn("STATUS", GetType(String), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnSTATUS)
            Me.columnFULLNAME = New System.Data.DataColumn("FULLNAME", GetType(String), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnFULLNAME)
            Me.columnFIRSTNAME = New System.Data.DataColumn("FIRSTNAME", GetType(String), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnFIRSTNAME)
            Me.columnLASTNAME = New System.Data.DataColumn("LASTNAME", GetType(String), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnLASTNAME)
            Me.columnGROUPNAME = New System.Data.DataColumn("GROUPNAME", GetType(String), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnGROUPNAME)
            Me.Constraints.Add(New System.Data.UniqueConstraint("Constraint1", New System.Data.DataColumn() {Me.columnLOGINNAME}, true))
            Me.columnLOGINNAME.AllowDBNull = false
            Me.columnLOGINNAME.Unique = true
            Me.columnLOGINNAME.MaxLength = 20
            Me.columnINITIALS.MaxLength = 4
            Me.columnSTATUS.AllowDBNull = false
            Me.columnSTATUS.MaxLength = 1
            Me.columnFULLNAME.MaxLength = 50
            Me.columnFIRSTNAME.MaxLength = 20
            Me.columnLASTNAME.MaxLength = 30
            Me.columnGROUPNAME.MaxLength = 50
        End Sub
        
        <System.Diagnostics.DebuggerNonUserCodeAttribute()>  _
        Public Function NewTBLUSERRow() As TBLUSERRow
            Return CType(Me.NewRow,TBLUSERRow)
        End Function
        
        <System.Diagnostics.DebuggerNonUserCodeAttribute()>  _
        Protected Overrides Function NewRowFromBuilder(ByVal builder As System.Data.DataRowBuilder) As System.Data.DataRow
            Return New TBLUSERRow(builder)
        End Function
        
        <System.Diagnostics.DebuggerNonUserCodeAttribute()>  _
        Protected Overrides Function GetRowType() As System.Type
            Return GetType(TBLUSERRow)
        End Function
        
        <System.Diagnostics.DebuggerNonUserCodeAttribute()>  _
        Protected Overrides Sub OnRowChanged(ByVal e As System.Data.DataRowChangeEventArgs)
            MyBase.OnRowChanged(e)
            If (Not (Me.TBLUSERRowChangedEvent) Is Nothing) Then
                RaiseEvent TBLUSERRowChanged(Me, New TBLUSERRowChangeEvent(CType(e.Row,TBLUSERRow), e.Action))
            End If
        End Sub
        
        <System.Diagnostics.DebuggerNonUserCodeAttribute()>  _
        Protected Overrides Sub OnRowChanging(ByVal e As System.Data.DataRowChangeEventArgs)
            MyBase.OnRowChanging(e)
            If (Not (Me.TBLUSERRowChangingEvent) Is Nothing) Then
                RaiseEvent TBLUSERRowChanging(Me, New TBLUSERRowChangeEvent(CType(e.Row,TBLUSERRow), e.Action))
            End If
        End Sub
        
        <System.Diagnostics.DebuggerNonUserCodeAttribute()>  _
        Protected Overrides Sub OnRowDeleted(ByVal e As System.Data.DataRowChangeEventArgs)
            MyBase.OnRowDeleted(e)
            If (Not (Me.TBLUSERRowDeletedEvent) Is Nothing) Then
                RaiseEvent TBLUSERRowDeleted(Me, New TBLUSERRowChangeEvent(CType(e.Row,TBLUSERRow), e.Action))
            End If
        End Sub
        
        <System.Diagnostics.DebuggerNonUserCodeAttribute()>  _
        Protected Overrides Sub OnRowDeleting(ByVal e As System.Data.DataRowChangeEventArgs)
            MyBase.OnRowDeleting(e)
            If (Not (Me.TBLUSERRowDeletingEvent) Is Nothing) Then
                RaiseEvent TBLUSERRowDeleting(Me, New TBLUSERRowChangeEvent(CType(e.Row,TBLUSERRow), e.Action))
            End If
        End Sub
        
        <System.Diagnostics.DebuggerNonUserCodeAttribute()>  _
        Public Sub RemoveTBLUSERRow(ByVal row As TBLUSERRow)
            Me.Rows.Remove(row)
        End Sub
        
        <System.Diagnostics.DebuggerNonUserCodeAttribute()>  _
        Public Shared Function GetTypedTableSchema(ByVal xs As System.Xml.Schema.XmlSchemaSet) As System.Xml.Schema.XmlSchemaComplexType
            Dim type As System.Xml.Schema.XmlSchemaComplexType = New System.Xml.Schema.XmlSchemaComplexType
            Dim sequence As System.Xml.Schema.XmlSchemaSequence = New System.Xml.Schema.XmlSchemaSequence
            Dim ds As DataSet_Users = New DataSet_Users
            xs.Add(ds.GetSchemaSerializable)
            Dim any1 As System.Xml.Schema.XmlSchemaAny = New System.Xml.Schema.XmlSchemaAny
            any1.Namespace = "http://www.w3.org/2001/XMLSchema"
            any1.MinOccurs = New Decimal(0)
            any1.MaxOccurs = Decimal.MaxValue
            any1.ProcessContents = System.Xml.Schema.XmlSchemaContentProcessing.Lax
            sequence.Items.Add(any1)
            Dim any2 As System.Xml.Schema.XmlSchemaAny = New System.Xml.Schema.XmlSchemaAny
            any2.Namespace = "urn:schemas-microsoft-com:xml-diffgram-v1"
            any2.MinOccurs = New Decimal(1)
            any2.ProcessContents = System.Xml.Schema.XmlSchemaContentProcessing.Lax
            sequence.Items.Add(any2)
            Dim attribute1 As System.Xml.Schema.XmlSchemaAttribute = New System.Xml.Schema.XmlSchemaAttribute
            attribute1.Name = "namespace"
            attribute1.FixedValue = ds.Namespace
            type.Attributes.Add(attribute1)
            Dim attribute2 As System.Xml.Schema.XmlSchemaAttribute = New System.Xml.Schema.XmlSchemaAttribute
            attribute2.Name = "tableTypeName"
            attribute2.FixedValue = "TBLUSERDataTable"
            type.Attributes.Add(attribute2)
            type.Particle = sequence
            Return type
        End Function
    End Class
    
    <System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")>  _
    Partial Public Class TBLUSERRow
        Inherits System.Data.DataRow
        
        Private tableTBLUSER As TBLUSERDataTable
        
        <System.Diagnostics.DebuggerNonUserCodeAttribute()>  _
        Friend Sub New(ByVal rb As System.Data.DataRowBuilder)
            MyBase.New(rb)
            Me.tableTBLUSER = CType(Me.Table,TBLUSERDataTable)
        End Sub
        
        <System.Diagnostics.DebuggerNonUserCodeAttribute()>  _
        Public Property LOGINNAME() As String
            Get
                Return CType(Me(Me.tableTBLUSER.LOGINNAMEColumn),String)
            End Get
            Set
                Me(Me.tableTBLUSER.LOGINNAMEColumn) = value
            End Set
        End Property
        
        <System.Diagnostics.DebuggerNonUserCodeAttribute()>  _
        Public Property INITIALS() As String
            Get
                Try 
                    Return CType(Me(Me.tableTBLUSER.INITIALSColumn),String)
                Catch e As System.InvalidCastException
                    Throw New System.Data.StrongTypingException("The value for column 'INITIALS' in table 'TBLUSER' is DBNull.", e)
                End Try
            End Get
            Set
                Me(Me.tableTBLUSER.INITIALSColumn) = value
            End Set
        End Property
        
        <System.Diagnostics.DebuggerNonUserCodeAttribute()>  _
        Public Property STATUS() As String
            Get
                Return CType(Me(Me.tableTBLUSER.STATUSColumn),String)
            End Get
            Set
                Me(Me.tableTBLUSER.STATUSColumn) = value
            End Set
        End Property
        
        <System.Diagnostics.DebuggerNonUserCodeAttribute()>  _
        Public Property FULLNAME() As String
            Get
                Try 
                    Return CType(Me(Me.tableTBLUSER.FULLNAMEColumn),String)
                Catch e As System.InvalidCastException
                    Throw New System.Data.StrongTypingException("The value for column 'FULLNAME' in table 'TBLUSER' is DBNull.", e)
                End Try
            End Get
            Set
                Me(Me.tableTBLUSER.FULLNAMEColumn) = value
            End Set
        End Property
        
        <System.Diagnostics.DebuggerNonUserCodeAttribute()>  _
        Public Property FIRSTNAME() As String
            Get
                Try 
                    Return CType(Me(Me.tableTBLUSER.FIRSTNAMEColumn),String)
                Catch e As System.InvalidCastException
                    Throw New System.Data.StrongTypingException("The value for column 'FIRSTNAME' in table 'TBLUSER' is DBNull.", e)
                End Try
            End Get
            Set
                Me(Me.tableTBLUSER.FIRSTNAMEColumn) = value
            End Set
        End Property
        
        <System.Diagnostics.DebuggerNonUserCodeAttribute()>  _
        Public Property LASTNAME() As String
            Get
                Try 
                    Return CType(Me(Me.tableTBLUSER.LASTNAMEColumn),String)
                Catch e As System.InvalidCastException
                    Throw New System.Data.StrongTypingException("The value for column 'LASTNAME' in table 'TBLUSER' is DBNull.", e)
                End Try
            End Get
            Set
                Me(Me.tableTBLUSER.LASTNAMEColumn) = value
            End Set
        End Property
        
        <System.Diagnostics.DebuggerNonUserCodeAttribute()>  _
        Public Property GROUPNAME() As String
            Get
                Try 
                    Return CType(Me(Me.tableTBLUSER.GROUPNAMEColumn),String)
                Catch e As System.InvalidCastException
                    Throw New System.Data.StrongTypingException("The value for column 'GROUPNAME' in table 'TBLUSER' is DBNull.", e)
                End Try
            End Get
            Set
                Me(Me.tableTBLUSER.GROUPNAMEColumn) = value
            End Set
        End Property
        
        <System.Diagnostics.DebuggerNonUserCodeAttribute()>  _
        Public Function IsINITIALSNull() As Boolean
            Return Me.IsNull(Me.tableTBLUSER.INITIALSColumn)
        End Function
        
        <System.Diagnostics.DebuggerNonUserCodeAttribute()>  _
        Public Sub SetINITIALSNull()
            Me(Me.tableTBLUSER.INITIALSColumn) = System.Convert.DBNull
        End Sub
        
        <System.Diagnostics.DebuggerNonUserCodeAttribute()>  _
        Public Function IsFULLNAMENull() As Boolean
            Return Me.IsNull(Me.tableTBLUSER.FULLNAMEColumn)
        End Function
        
        <System.Diagnostics.DebuggerNonUserCodeAttribute()>  _
        Public Sub SetFULLNAMENull()
            Me(Me.tableTBLUSER.FULLNAMEColumn) = System.Convert.DBNull
        End Sub
        
        <System.Diagnostics.DebuggerNonUserCodeAttribute()>  _
        Public Function IsFIRSTNAMENull() As Boolean
            Return Me.IsNull(Me.tableTBLUSER.FIRSTNAMEColumn)
        End Function
        
        <System.Diagnostics.DebuggerNonUserCodeAttribute()>  _
        Public Sub SetFIRSTNAMENull()
            Me(Me.tableTBLUSER.FIRSTNAMEColumn) = System.Convert.DBNull
        End Sub
        
        <System.Diagnostics.DebuggerNonUserCodeAttribute()>  _
        Public Function IsLASTNAMENull() As Boolean
            Return Me.IsNull(Me.tableTBLUSER.LASTNAMEColumn)
        End Function
        
        <System.Diagnostics.DebuggerNonUserCodeAttribute()>  _
        Public Sub SetLASTNAMENull()
            Me(Me.tableTBLUSER.LASTNAMEColumn) = System.Convert.DBNull
        End Sub
        
        <System.Diagnostics.DebuggerNonUserCodeAttribute()>  _
        Public Function IsGROUPNAMENull() As Boolean
            Return Me.IsNull(Me.tableTBLUSER.GROUPNAMEColumn)
        End Function
        
        <System.Diagnostics.DebuggerNonUserCodeAttribute()>  _
        Public Sub SetGROUPNAMENull()
            Me(Me.tableTBLUSER.GROUPNAMEColumn) = System.Convert.DBNull
        End Sub
    End Class
    
    <System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")>  _
    Public Class TBLUSERRowChangeEvent
        Inherits System.EventArgs
        
        Private eventRow As TBLUSERRow
        
        Private eventAction As System.Data.DataRowAction
        
        <System.Diagnostics.DebuggerNonUserCodeAttribute()>  _
        Public Sub New(ByVal row As TBLUSERRow, ByVal action As System.Data.DataRowAction)
            MyBase.New
            Me.eventRow = row
            Me.eventAction = action
        End Sub
        
        <System.Diagnostics.DebuggerNonUserCodeAttribute()>  _
        Public ReadOnly Property Row() As TBLUSERRow
            Get
                Return Me.eventRow
            End Get
        End Property
        
        <System.Diagnostics.DebuggerNonUserCodeAttribute()>  _
        Public ReadOnly Property Action() As System.Data.DataRowAction
            Get
                Return Me.eventAction
            End Get
        End Property
    End Class
End Class

Namespace DataSet_UsersTableAdapters
    
    <System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0"),  _
     System.ComponentModel.DesignerCategoryAttribute("code"),  _
     System.ComponentModel.ToolboxItem(true),  _
     System.ComponentModel.DataObjectAttribute(true),  _
     System.ComponentModel.DesignerAttribute("Microsoft.VSDesigner.DataSource.Design.TableAdapterDesigner, Microsoft.VSDesigner"& _ 
        ", Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"),  _
     System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")>  _
    Partial Public Class TBLUSERTableAdapter
        Inherits System.ComponentModel.Component
        
        Private WithEvents _adapter As System.Data.OracleClient.OracleDataAdapter
        
        Private _connection As System.Data.OracleClient.OracleConnection
        
        Private _commandCollection() As System.Data.OracleClient.OracleCommand
        
        Private _clearBeforeFill As Boolean
        
        <System.Diagnostics.DebuggerNonUserCodeAttribute()>  _
        Public Sub New()
            MyBase.New
            Me.ClearBeforeFill = true
        End Sub
        
        <System.Diagnostics.DebuggerNonUserCodeAttribute()>  _
        Private ReadOnly Property Adapter() As System.Data.OracleClient.OracleDataAdapter
            Get
                If (Me._adapter Is Nothing) Then
                    Me.InitAdapter
                End If
                Return Me._adapter
            End Get
        End Property
        
        <System.Diagnostics.DebuggerNonUserCodeAttribute()>  _
        Friend Property Connection() As System.Data.OracleClient.OracleConnection
            Get
                If (Me._connection Is Nothing) Then
                    Me.InitConnection
                End If
                Return Me._connection
            End Get
            Set
                Me._connection = value
                If (Not (Me.Adapter.InsertCommand) Is Nothing) Then
                    Me.Adapter.InsertCommand.Connection = value
                End If
                If (Not (Me.Adapter.DeleteCommand) Is Nothing) Then
                    Me.Adapter.DeleteCommand.Connection = value
                End If
                If (Not (Me.Adapter.UpdateCommand) Is Nothing) Then
                    Me.Adapter.UpdateCommand.Connection = value
                End If
                Dim i As Integer = 0
                Do While (i < Me.CommandCollection.Length)
                    If (Not (Me.CommandCollection(i)) Is Nothing) Then
                        CType(Me.CommandCollection(i),System.Data.OracleClient.OracleCommand).Connection = value
                    End If
                    i = (i + 1)
                Loop
            End Set
        End Property
        
        <System.Diagnostics.DebuggerNonUserCodeAttribute()>  _
        Protected ReadOnly Property CommandCollection() As System.Data.OracleClient.OracleCommand()
            Get
                If (Me._commandCollection Is Nothing) Then
                    Me.InitCommandCollection
                End If
                Return Me._commandCollection
            End Get
        End Property
        
        <System.Diagnostics.DebuggerNonUserCodeAttribute()>  _
        Public Property ClearBeforeFill() As Boolean
            Get
                Return Me._clearBeforeFill
            End Get
            Set
                Me._clearBeforeFill = value
            End Set
        End Property
        
        <System.Diagnostics.DebuggerNonUserCodeAttribute()>  _
        Private Sub InitAdapter()
            Me._adapter = New System.Data.OracleClient.OracleDataAdapter
            Dim tableMapping As System.Data.Common.DataTableMapping = New System.Data.Common.DataTableMapping
            tableMapping.SourceTable = "Table"
            tableMapping.DataSetTable = "TBLUSER"
            tableMapping.ColumnMappings.Add("LOGINNAME", "LOGINNAME")
            tableMapping.ColumnMappings.Add("INITIALS", "INITIALS")
            tableMapping.ColumnMappings.Add("STATUS", "STATUS")
            tableMapping.ColumnMappings.Add("FULLNAME", "FULLNAME")
            tableMapping.ColumnMappings.Add("FIRSTNAME", "FIRSTNAME")
            tableMapping.ColumnMappings.Add("LASTNAME", "LASTNAME")
            tableMapping.ColumnMappings.Add("GROUPNAME", "GROUPNAME")
            Me._adapter.TableMappings.Add(tableMapping)
            Me._adapter.InsertCommand = New System.Data.OracleClient.OracleCommand
            Me._adapter.InsertCommand.Connection = Me.Connection
            Me._adapter.InsertCommand.CommandText = "INSERT INTO ""RTRACK_DATA"".""TBLUSER"" (""LOGINNAME"", ""INITIALS"", ""STATUS"", ""FULLNAME"& _ 
                """, ""FIRSTNAME"", ""LASTNAME"", ""GROUPNAME"") VALUES (:LOGINNAME, :INITIALS, :STATUS,"& _ 
                " :FULLNAME, :FIRSTNAME, :LASTNAME, :GROUPNAME)"
            Me._adapter.InsertCommand.CommandType = System.Data.CommandType.Text
            Me._adapter.InsertCommand.Parameters.Add(New System.Data.OracleClient.OracleParameter("LOGINNAME", System.Data.OracleClient.OracleType.VarChar, 0, System.Data.ParameterDirection.Input, "LOGINNAME", System.Data.DataRowVersion.Current, false, Nothing))
            Me._adapter.InsertCommand.Parameters.Add(New System.Data.OracleClient.OracleParameter("INITIALS", System.Data.OracleClient.OracleType.VarChar, 0, System.Data.ParameterDirection.Input, "INITIALS", System.Data.DataRowVersion.Current, false, Nothing))
            Me._adapter.InsertCommand.Parameters.Add(New System.Data.OracleClient.OracleParameter("STATUS", System.Data.OracleClient.OracleType.VarChar, 0, System.Data.ParameterDirection.Input, "STATUS", System.Data.DataRowVersion.Current, false, Nothing))
            Me._adapter.InsertCommand.Parameters.Add(New System.Data.OracleClient.OracleParameter("FULLNAME", System.Data.OracleClient.OracleType.VarChar, 0, System.Data.ParameterDirection.Input, "FULLNAME", System.Data.DataRowVersion.Current, false, Nothing))
            Me._adapter.InsertCommand.Parameters.Add(New System.Data.OracleClient.OracleParameter("FIRSTNAME", System.Data.OracleClient.OracleType.VarChar, 0, System.Data.ParameterDirection.Input, "FIRSTNAME", System.Data.DataRowVersion.Current, false, Nothing))
            Me._adapter.InsertCommand.Parameters.Add(New System.Data.OracleClient.OracleParameter("LASTNAME", System.Data.OracleClient.OracleType.VarChar, 0, System.Data.ParameterDirection.Input, "LASTNAME", System.Data.DataRowVersion.Current, false, Nothing))
            Me._adapter.InsertCommand.Parameters.Add(New System.Data.OracleClient.OracleParameter("GROUPNAME", System.Data.OracleClient.OracleType.VarChar, 0, System.Data.ParameterDirection.Input, "GROUPNAME", System.Data.DataRowVersion.Current, false, Nothing))
        End Sub
        
        <System.Diagnostics.DebuggerNonUserCodeAttribute()>  _
        Private Sub InitConnection()
            Me._connection = New System.Data.OracleClient.OracleConnection
            Me._connection.ConnectionString = Global.BadUpdate.My.MySettings.Default.ConnectionString
        End Sub
        
        <System.Diagnostics.DebuggerNonUserCodeAttribute()>  _
        Private Sub InitCommandCollection()
            Me._commandCollection = New System.Data.OracleClient.OracleCommand(0) {}
            Me._commandCollection(0) = New System.Data.OracleClient.OracleCommand
            Me._commandCollection(0).Connection = Me.Connection
            Me._commandCollection(0).CommandText = "SELECT LOGINNAME, INITIALS, STATUS, FULLNAME, FIRSTNAME, LASTNAME, GROUPNAME FROM"& _ 
                " RTRACK_DATA.TBLUSER"
            Me._commandCollection(0).CommandType = System.Data.CommandType.Text
        End Sub
        
        <System.Diagnostics.DebuggerNonUserCodeAttribute(),  _
         System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter"),  _
         System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Fill, true)>  _
        Public Overloads Overridable Function Fill(ByVal dataTable As DataSet_Users.TBLUSERDataTable) As Integer
            Me.Adapter.SelectCommand = Me.CommandCollection(0)
            If (Me.ClearBeforeFill = true) Then
                dataTable.Clear
            End If
            Dim returnValue As Integer = Me.Adapter.Fill(dataTable)
            Return returnValue
        End Function
        
        <System.Diagnostics.DebuggerNonUserCodeAttribute(),  _
         System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter"),  _
         System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.[Select], true)>  _
        Public Overloads Overridable Function GetData() As DataSet_Users.TBLUSERDataTable
            Me.Adapter.SelectCommand = Me.CommandCollection(0)
            Dim dataTable As DataSet_Users.TBLUSERDataTable = New DataSet_Users.TBLUSERDataTable
            Me.Adapter.Fill(dataTable)
            Return dataTable
        End Function
        
        <System.Diagnostics.DebuggerNonUserCodeAttribute(),  _
         System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")>  _
        Public Overloads Overridable Function Update(ByVal dataTable As DataSet_Users.TBLUSERDataTable) As Integer
            Return Me.Adapter.Update(dataTable)
        End Function
        
        <System.Diagnostics.DebuggerNonUserCodeAttribute(),  _
         System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")>  _
        Public Overloads Overridable Function Update(ByVal dataSet As DataSet_Users) As Integer
            Return Me.Adapter.Update(dataSet, "TBLUSER")
        End Function
        
        <System.Diagnostics.DebuggerNonUserCodeAttribute(),  _
         System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")>  _
        Public Overloads Overridable Function Update(ByVal dataRow As System.Data.DataRow) As Integer
            Return Me.Adapter.Update(New System.Data.DataRow() {dataRow})
        End Function
        
        <System.Diagnostics.DebuggerNonUserCodeAttribute(),  _
         System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")>  _
        Public Overloads Overridable Function Update(ByVal dataRows() As System.Data.DataRow) As Integer
            Return Me.Adapter.Update(dataRows)
        End Function
        
        <System.Diagnostics.DebuggerNonUserCodeAttribute(),  _
         System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter"),  _
         System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Insert, true)>  _
        Public Overloads Overridable Function Insert(ByVal LOGINNAME As String, ByVal INITIALS As String, ByVal STATUS As String, ByVal FULLNAME As String, ByVal FIRSTNAME As String, ByVal LASTNAME As String, ByVal GROUPNAME As String) As Integer
            If (LOGINNAME Is Nothing) Then
                Throw New System.ArgumentNullException("LOGINNAME")
            Else
                Me.Adapter.InsertCommand.Parameters(0).Value = CType(LOGINNAME,String)
            End If
            If (INITIALS Is Nothing) Then
                Me.Adapter.InsertCommand.Parameters(1).Value = System.DBNull.Value
            Else
                Me.Adapter.InsertCommand.Parameters(1).Value = CType(INITIALS,String)
            End If
            If (STATUS Is Nothing) Then
                Throw New System.ArgumentNullException("STATUS")
            Else
                Me.Adapter.InsertCommand.Parameters(2).Value = CType(STATUS,String)
            End If
            If (FULLNAME Is Nothing) Then
                Me.Adapter.InsertCommand.Parameters(3).Value = System.DBNull.Value
            Else
                Me.Adapter.InsertCommand.Parameters(3).Value = CType(FULLNAME,String)
            End If
            If (FIRSTNAME Is Nothing) Then
                Me.Adapter.InsertCommand.Parameters(4).Value = System.DBNull.Value
            Else
                Me.Adapter.InsertCommand.Parameters(4).Value = CType(FIRSTNAME,String)
            End If
            If (LASTNAME Is Nothing) Then
                Me.Adapter.InsertCommand.Parameters(5).Value = System.DBNull.Value
            Else
                Me.Adapter.InsertCommand.Parameters(5).Value = CType(LASTNAME,String)
            End If
            If (GROUPNAME Is Nothing) Then
                Me.Adapter.InsertCommand.Parameters(6).Value = System.DBNull.Value
            Else
                Me.Adapter.InsertCommand.Parameters(6).Value = CType(GROUPNAME,String)
            End If
            Dim previousConnectionState As System.Data.ConnectionState = Me.Adapter.InsertCommand.Connection.State
            If ((Me.Adapter.InsertCommand.Connection.State And System.Data.ConnectionState.Open)  _
                        <> System.Data.ConnectionState.Open) Then
                Me.Adapter.InsertCommand.Connection.Open
            End If
            Try 
                Dim returnValue As Integer = Me.Adapter.InsertCommand.ExecuteNonQuery
                Return returnValue
            Finally
                If (previousConnectionState = System.Data.ConnectionState.Closed) Then
                    Me.Adapter.InsertCommand.Connection.Close
                End If
            End Try
        End Function
    End Class
End Namespace

Thanks again,
Carl
 
OK, lastly, please exec this and post the result. Note you MUST be connected to RTRACK user:

select dbms_metadata.get_ddl('TABLE', 'TBLUSER') from dual
 
select dbms_metadata.

Is this it?


VB.NET:
SQL>  select dbms_metadata.get_ddl('TABLE', 'TB

DBMS_METADATA.GET_DDL('TABLE','TBLUSER')
-----------------------------------------------

  CREATE TABLE "RTRACK_DATA"."TBLUSER"
   (    "LOGINNAME" VARCHAR2(20) NOT NULL


Carl
 
2nd try

I did it agian with SQL*Plus and received:

VB.NET:
DBMS_METADATA.GET_DDL('TABLE','TBLUSER')
--------------------------------------------------------------------------------

  CREATE TABLE "RTRACK_DATA"."TBLUSER"
   (	"LOGINNAME" VARCHAR2(20) NOT NULL


1 row selected.


Carl
 
It's incomplete.. Go get a free utility called SQLTools and use that as your oracle query tool. Burn SQLPlus
 
SQLTools

I downloaded SQLTools and pasted in the command you sent, and got:

VB.NET:
CREATE TABLE "RTRACK_DATA"."TBLUSER" 
  (	"LOGINNAME" VARCHAR2(20) NOT NULL ENABLE, 
	"INITIALS" VARCHAR2(4), 
	"STATUS" VARCHAR2(1) DEFAULT 'A' NOT NULL ENABLE, 
	"FULLNAME" VARCHAR2(50), 
	"FIRSTNAME" VARCHAR2(20), 
	"LASTNAME" VARCHAR2(30), 
	"GROUPNAME" VARCHAR2(50)
   ) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
  STORAGE(INITIAL 131072 NEXT 131072 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
  TABLESPACE "RTRACK_DATA"
 
OK, your table does not have a proper primary key. This is what the ddl looks like for a table with a primary key:

VB.NET:
  CREATE TABLE "ABC"."APPS_PREFS" 
   (	"PREF_APP" VARCHAR2(10), 
	"PREF_GROUP" VARCHAR2(50), 
	"PREF_NAME" VARCHAR2(50), 
	"PREF_VALUE" VARCHAR2(4000), 
	"PREF_COMMENT" VARCHAR2(200), 
	 [B]PRIMARY KEY ("PREF_APP", "PREF_GROUP", "PREF_NAME")
  USING INDEX[/B] PCTFREE 10 INITRANS 2 MAXTRANS 255 
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
  TABLESPACE "USER01"  ENABLE
   ) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
  TABLESPACE "USER01"

Download Oracle Developer Tools for .NET and use it to design your tables
 
Version Question

I am using Oracle 9, will the Oracle Developer Tools for Visual Studio .NET with ODAC 10.2.0.2.21 work?

Thanks,
Carl
 
Back
Top