none
Error al cargar datos RRS feed

  • Pregunta

  • estoy empesando con esto y segui un tutorial al pie de la letra y cuando va a caargar el insert aparece este error, aca le pongo el codigo

    datos
    
    Public Class consultas
    
    
        Public Shared Sub Agregar(ByVal nombre As String, ByVal precio As Double)
            Using bd As New KioscoEntities()
                bd.ProductoEstablecer.AddObject(New Producto() With {.NombrePro = nombre, .PrecioPro = precio})
                bd.SaveChanges()
            End Using
        End Sub
    
    End Class
    
    y en la pantalla esto
    
    
    Public Class cargaproducto
    
      
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim nombre As String = txtNombre.Text
            Dim precio As String = txtPrecio.Text
    
            Dim datos As New consultas
            consultas.Agregar(nombre, precio)
        End Sub
    End Class

    el error es este

    No se controló System.Data.UpdateException
      Message=Se produjo un error mientras se actualizaban las entradas. Vea la excepción interna para obtener detalles.
      Source=System.Data.Entity
      StackTrace:
           en System.Data.Mapping.Update.Internal.UpdateTranslator.Update(IEntityStateManager stateManager, IEntityAdapter adapter)
           en System.Data.EntityClient.EntityAdapter.Update(IEntityStateManager entityCache)
           en System.Data.Objects.ObjectContext.SaveChanges(SaveOptions options)
           en System.Data.Objects.ObjectContext.SaveChanges()
           en Datos.consultas.Agregar(String nombre, Double precio) en C:\Documents and Settings\guille\Configuración local\Datos de programa\Temporary Projects\Datos\consultas.vb:línea 7
           en Datos.cargaproducto.Button1_Click(Object sender, EventArgs e) en C:\Documents and Settings\guille\Configuración local\Datos de programa\Temporary Projects\Datos\cargaproducto.vb:línea 9
           en System.Windows.Forms.Control.OnClick(EventArgs e)
           en System.Windows.Forms.Button.OnClick(EventArgs e)
           en System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
           en System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
           en System.Windows.Forms.Control.WndProc(Message& m)
           en System.Windows.Forms.ButtonBase.WndProc(Message& m)
           en System.Windows.Forms.Button.WndProc(Message& m)
           en System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
           en System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
           en System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
           en System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
           en System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
           en System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
           en System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
           en System.Windows.Forms.Application.Run(Form mainForm)
           en Datos.cargaproducto.Main() en C:\Documents and Settings\guille\Configuración local\Datos de programa\Temporary Projects\Datos\cargaproducto.Designer.vb:línea 0
           en System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
           en System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
           en Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
           en System.Threading.ThreadHelper.ThreadStart_Context(Object state)
           en System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)
           en System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
           en System.Threading.ThreadHelper.ThreadStart()
      InnerException: System.Data.SqlClient.SqlException
           Class=16
           ErrorCode=-2146232060
           LineNumber=1
           Message=El nombre de objeto 'dbo.ProductoEstablecer' no es válido.
           Number=208
           Procedure=""
           Server=\\.\pipe\D67BB7CF-FFBC-4F\tsql\query
           Source=.Net SqlClient Data Provider
           State=1
           StackTrace:
                en System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
                en System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
                en System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning()
                en System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
                en System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
                en System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)
                en System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)
                en System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)
                en System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
                en System.Data.Mapping.Update.Internal.DynamicUpdateCommand.Execute(UpdateTranslator translator, EntityConnection connection, Dictionary`2 identifierValues, List`1 generatedValues)
                en System.Data.Mapping.Update.Internal.UpdateTranslator.Update(IEntityStateManager stateManager, IEntityAdapter adapter)
           InnerExcept


    Guillermo

    miércoles, 25 de septiembre de 2013 2:59

Todas las respuestas

  • hola

    el error que noto dice "El nombre de objeto 'dbo.ProductoEstablecer' no es válido."

    y genera un error del tipo SqlException, me pregunto el modelo esta correctamente actualizado con respecto a la base de datos ?

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    jueves, 26 de septiembre de 2013 11:26
  • si tiene los mismos campos que la base, es mas primero cree el entity y de ahi cree la base

    Guillermo

    jueves, 26 de septiembre de 2013 20:33
  • capa datos
    
    Public Class carga
        Public Function agregpro(ByVal nombre, ByVal codigo, ByVal id, ByVal precio)
            Using bd As New kioscoEntities()
                Try
    
                    bd.Productoes.AddObject(New Producto() With {.Nombre = nombre, .Precio = precio, .Codigo = codigo, .ID = id})
                    bd.SaveChanges()
    
                Catch ex As Exception
                    MsgBox(ex.ToString)
                End Try
    
            End Using
        End Function
    End Class
    
    capa logica
    
    Public Class producto
        Public Function logagregarpro(ByVal nombre, ByVal codigo, ByVal id, ByVal precio)
            Dim datoslog As New accesodatos.carga
    
            logagregarpro = datoslog.agregpro(nombre, codigo, id, precio)
    
    
        End Function
    
     
    
    End Class
    
    
    
    capa precentacion
    
    
    Public Class pancarga
    
        Private Sub btnGuardar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnGuardar.Click
    
            Dim a As New logica.producto
            Dim nombre As String = btnNombre.Text
            Dim codigo As String = btnCodigo.Text
            Dim id As String = btnPrecio.Text
            Dim precio As Integer = btnPrecio.Text
    
    
            a.logagregarpro(nombre, codigo, id, precio)
        End Sub
    
       
    End Class
    
    
    aca va lo del appconfig
    
    
    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
      <system.diagnostics>
        <sources>
          <!-- En esta sección se define la configuración del registro para My.Application.Log -->
          <source name="DefaultSource" switchName="DefaultSwitch">
            <listeners>
              <add name="FileLog" />
              <!-- Quite los comentarios de la sección posterior para escribir en el registro de eventos de la aplicación -->
              <!--<add name="EventLog"/>-->
            </listeners>
          </source>
        </sources>
        <switches>
          <add name="DefaultSwitch" value="Information" />
        </switches>
        <sharedListeners>
          <add name="FileLog" type="Microsoft.VisualBasic.Logging.FileLogTraceListener, Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" initializeData="FileLogWriter" />
          <!-- Quite los comentarios de la sección posterior y reemplace APPLICATION_NAME con el nombre de su aplicación para escribir en el registro de eventos de la aplicación -->
          <!--<add name="EventLog" type="System.Diagnostics.EventLogTraceListener" initializeData="APPLICATION_NAME"/> -->
        </sharedListeners>
      </system.diagnostics>
      <connectionStrings><add name="kioscobd" connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\kiosco.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" /><add name="kioscoEntities" connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\kiosco.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" /></connectionStrings>
    </configuration>
    


    Guillermo

    jueves, 26 de septiembre de 2013 21:48