Классы MessageRow и CategoryRow мне сгенерировала VS 2005 Beta 2
поэтому по knowledge.Data.Categories[0] будет возвращен объект CategoryRow
а по knowledge.Data.Users[0] будет возвращен CategoryRow
а в AddMessagesRow уже выбирается из них id'ы
... не знаю в чем ошибка
пробовал также запустить
вот так
this.m_adapter.InsertCommand.Connection = this.Connection;
this.m_adapter.InsertCommand.CommandText = @"INSERT INTO `Messages` (`ID`, `CategoryID`, `UserID`" +
") VALUES (?, ?, ?)";
this.m_adapter.InsertCommand.CommandType = System.Data.CommandType.Text;
this.m_adapter.InsertCommand.Parameters.Add(new System.Data.OleDb.OleDbParameter("p1", System.Data.OleDb.OleDbType.Integer, 0, System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ID", System.Data.DataRowVersion.Current, false, null));
this.m_adapter.InsertCommand.Parameters.Add(new System.Data.OleDb.OleDbParameter("p2", System.Data.OleDb.OleDbType.Integer, 0, System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "CategoryID", System.Data.DataRowVersion.Current, false, null));
this.m_adapter.InsertCommand.Parameters.Add(new System.Data.OleDb.OleDbParameter("p3", System.Data.OleDb.OleDbType.Integer, 0, System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "UserID", System.Data.DataRowVersion.Current, false, null));
Но вылетело
Unhandled Exception: System.Data.OleDb.OleDbException: Несоответствие типов данн
ых в выражении условия отбора.
at System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARA
MS dbParams, Object& executeResult)
at System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult)
at System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Ob
ject& executeResult)
at System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behav
ior, String method)
at System.Data.OleDb.OleDbCommand.ExecuteNonQuery()
at Knowledge.KnowledgeDataSetTableAdapters.MessagesTableAdapter.Insert(Nullab
le`1 p1, Nullable`1 p2, Nullable`1 p3, String p4, String p5, String p6, DateTime
p7)