Problemas con autoincremento en SQL y VB 2005-2008
Hola a todos, agradecería que algún experto me pueda informar sobre el siguiente problema que me ha surgido.
Tengo una aplicación con una base de datos todo ellos construido con Visual Basic 2008 y la base de datos con la misma aplicación en SQL Compact 3.5, en la que una vez creada la misma he enlazado a los controles por medio del método arrastrar desde el origen de datos hasta el formulario, creándose un BindingNavigator con el que manejo la base de datos.
Tras crear una columna como clave principal, y tipo de datos "bingint", y con la propiedad de autoincremento en true, con la finalidad que me vaya autoincrementando, al introducir una nueva persona, me da el siguiente error:
La columna 'NOrden' no permite tener valores nulos.
No se controló System. Data.NoNullAllowedException
Message="La columna 'NOrden' no permite tener valores nulos."
Source="System.Data"
StackTrace:
en System.Data.DataColumn.CheckNullable(DataRow row)
en System.Data.DataTable.RaiseRowChanging(DataRowChangeEventArgs args, DataRow eRow, DataRowAction eAction, Boolean fireEvent)
en System.Data.DataTable.SetNewRecordWorker(DataRow row, Int32 proposedRecord, DataRowAction action, Boolean isInMerge, Int32 position, Boolean fireEvent, Exception& deferredException)
en System.Data.DataTable.InsertRow(DataRow row, Int32 proposedID, Int32 pos, Boolean fireEvent)
en System.Data.DataView.FinishAddNew(Boolean success)
en System.Data.DataRowView.EndEdit()
en System.Windows.Forms.CurrencyManager.EndCurrentEdit()
en System.Windows.Forms.BindingSource.EndEdit()
en System.Windows.Forms.BindingSource.AddNew()
en System.Windows.Forms.BindingNavigator.OnAddNew(Object sender, EventArgs e)
en System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
en System.Windows.Forms.ToolStripButton.OnClick(EventArgs e)
en System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
en System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
en System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
en System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
en System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
en System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
en System.Windows.Forms.Control.WndProc(Message& m)
en System.Windows.Forms.ScrollableControl.WndProc(Message& m)
en System.Windows.Forms.ToolStrip.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)
... Etc...etc... Etc...
---------------------------------
La cuestión es que he probado incluso poner un valor correlativo en la columna correspondiente (que debería de ser de autoincremento), pero se ve que algo no va bien.
¿Se te ocurre que problema pude haber?
Tengo una aplicación con una base de datos todo ellos construido con Visual Basic 2008 y la base de datos con la misma aplicación en SQL Compact 3.5, en la que una vez creada la misma he enlazado a los controles por medio del método arrastrar desde el origen de datos hasta el formulario, creándose un BindingNavigator con el que manejo la base de datos.
Tras crear una columna como clave principal, y tipo de datos "bingint", y con la propiedad de autoincremento en true, con la finalidad que me vaya autoincrementando, al introducir una nueva persona, me da el siguiente error:
La columna 'NOrden' no permite tener valores nulos.
No se controló System. Data.NoNullAllowedException
Message="La columna 'NOrden' no permite tener valores nulos."
Source="System.Data"
StackTrace:
en System.Data.DataColumn.CheckNullable(DataRow row)
en System.Data.DataTable.RaiseRowChanging(DataRowChangeEventArgs args, DataRow eRow, DataRowAction eAction, Boolean fireEvent)
en System.Data.DataTable.SetNewRecordWorker(DataRow row, Int32 proposedRecord, DataRowAction action, Boolean isInMerge, Int32 position, Boolean fireEvent, Exception& deferredException)
en System.Data.DataTable.InsertRow(DataRow row, Int32 proposedID, Int32 pos, Boolean fireEvent)
en System.Data.DataView.FinishAddNew(Boolean success)
en System.Data.DataRowView.EndEdit()
en System.Windows.Forms.CurrencyManager.EndCurrentEdit()
en System.Windows.Forms.BindingSource.EndEdit()
en System.Windows.Forms.BindingSource.AddNew()
en System.Windows.Forms.BindingNavigator.OnAddNew(Object sender, EventArgs e)
en System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
en System.Windows.Forms.ToolStripButton.OnClick(EventArgs e)
en System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
en System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
en System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
en System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
en System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
en System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
en System.Windows.Forms.Control.WndProc(Message& m)
en System.Windows.Forms.ScrollableControl.WndProc(Message& m)
en System.Windows.Forms.ToolStrip.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)
... Etc...etc... Etc...
---------------------------------
La cuestión es que he probado incluso poner un valor correlativo en la columna correspondiente (que debería de ser de autoincremento), pero se ve que algo no va bien.
¿Se te ocurre que problema pude haber?
1 Respuesta
Respuesta de msalvadorp
1