Hola estoy tratando de usar el metodo FIND de un datarow de un dataset tipado y me tira el siguiente error
An unhandled exception of type 'System.Data.MissingPrimaryKeyException' occurred in system.data.dll
Additional information: Table doesn't have a primary key.
Pero lo extraño es que al esquema si le defini la clave primaria
El codigo que uso es el sigiente:
Código:
Function GetContacto(ByVal id As Integer) As SchemaContacto
'Esto hereda la estructura del registro contacto
Dim newContacto As SchemaContacto.ContactoRow = Contactos.Contacto.NewContactoRow
Dim auxCont As New SchemaContacto
'Busco el registro solicitado los campos del registro
newContacto = Contactos.Contacto.Rows.Find(id)
auxCont.Contacto.Rows.Add(newContacto)
Return auxCont
End Function
Contactos es el dataset tipado
y por las dudas paso la definicion del esquema:
Código:
<?xml version="1.0" encoding="utf-8" ?>
<xs:schema id="SchemaContacto" targetNamespace="http://tempuri.org/SchemaContacto.xsd" elementFormDefault="qualified"
xmlns="http://tempuri.org/SchemaContacto.xsd" xmlns:mstns="http://tempuri.org/SchemaContacto.xsd"
xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xs:element name="Contacto">
<xs:complexType>
<xs:sequence>
<xs:element name="id" type="xs:integer" msdata:AutoIncrement="true" msdata:ReadOnly="true" />
<xs:element name="Nombre" type="xs:string" msdata:ReadOnly="true" />
<xs:element name="Telefono" type="xs:string" msdata:ReadOnly="true" />
<xs:element name="Servicio" type="xs:string" msdata:ReadOnly="true" />
<xs:element name="Nota" type="xs:string" msdata:ReadOnly="true" />
</xs:sequence>
</xs:complexType>
<xs:key name="ContactoKey1" msdata:PrimaryKey="true">
<xs:selector xpath="." />
<xs:field xpath="mstns:id" />
</xs:key>
</xs:element>
</xs:schema>