That is exactly what it was.  Thank you very much!!

What I did to correct the problem was to change the field name in the
database (Since I am just starting, easier to fix it now.) to TypeName
and then made the same changes in my FM_DocType class which FNH uses
for automapping.  changing that tag fixed the problem.

Thanks,

Ed

On Sep 29, 10:47 am, Juanma <[email protected]> wrote:
> Probably you need to escape column Desc, since it's a reserved word.
>
> IIRC, you should modify the mapping to something like this:
> <property name="Desc" column="`Desc`"/> (Note the backquotes around
> Desc in column).
>
> I don't know how to do that with FNH, but there must be way.
>
>
>
> On Wed, Sep 29, 2010 at 5:38 PM, Ed <[email protected]> wrote:
> > I have a program that is using FluenNHibernate to access a MySQL
> > database, and while it reads all information fine, I am getting an
> > error anytime I try to update or insert a record.  During
> > troubleshooting, I have noted that the docType sent has appropriate
> > values for Code and Desc.  Also, I am having no problem getting data
> > and deleting a record.
>
> > Any Help would be greatly appreciated.
>
> > Ed.
>
> > The error:
> > Error:
>
> > could not insert: [FileManager.Models.FM_DocType][SQL: INSERT INTO
> > FM_DocType (Code, Desc) VALUES (?, ?)]
>
> > Source:
> > NHibernate
>
> > Inner Exception:
> > MySql.Data.MySqlClient.MySql
>
> > Exception: You have an error in your SQL syntax; check the manual that
> > corresponds to your MySQL server version for the right syntax to use
> > near 'Desc) VALUES ('T', 'Test')' at line 1
> > at MySql.Data.MySqlClient.MySqlStream.ReadPacket() at
> > MySql.Data.MySqlClient.NativeDriver.GetResult(Int32& affectedRow,
> > Int32& insertedId) at MySql.Data.MySqlClient.Driver.GetResult(Int32
> > statementId, Int32& affectedRows, Int32& insertedId) at
> > MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId) at
> > MySql.Data.MySqlClient.MySqlDataReader.NextResult() at
> > MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior
> > behavior) at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader() at
> > MySql.Data.MySqlClient.MySqlCommand.ExecuteNonQuery() at
> > NHibernate.AdoNet.AbstractBatcher.ExecuteNonQuery(IDbCommand cmd) at
> > NHibernate.Id.Insert.AbstractSelectingDelegate.PerformInsert(SqlCommandInfo
> > insertSQL, ISessionImplementor session, IBinder binder)
>
> > Stack Trace:
> > at
> > NHibernate.Id.Insert.AbstractSelectingDelegate.PerformInsert(SqlCommandInfo
> > insertSQL, ISessionImplementor session, IBinder binder) at
> > NHibernate.Persister.Entity.AbstractEntityPersister.Insert(Object[]
> > fields, Boolean[] notNull, SqlCommandInfo sql, Object obj,
> > ISessionImplementor session) at
> > NHibernate.Persister.Entity.AbstractEntityPersister.Insert(Object[]
> > fields, Object obj, ISessionImplementor session) at
> > NHibernate.Action.EntityIdentityInsertAction.Execute() at
> > NHibernate.Engine.ActionQueue.Execute(IExecutable executable) at
> > NHibernate.Event.Default.AbstractSaveEventListener.PerformSaveOrReplicate(O­bject
> > entity, EntityKey key, IEntityPersister persister, Boolean
> > useIdentityColumn, Object anything, IEventSource source, Boolean
> > requiresImmediateIdAccess) at
> > NHibernate.Event.Default.AbstractSaveEventListener.PerformSave(Object
> > entity, Object id, IEntityPersister persister, Boolean
> > useIdentityColumn, Object anything, IEventSource source, Boolean
> > requiresImmediateIdAccess) at
> > NHibernate.Event.Default.AbstractSaveEventListener.SaveWithGeneratedId(Obje­ct
> > entity, String entityName, Object anything, IEventSource source,
> > Boolean requiresImmediateIdAccess) at
> > NHibernate.Event.Default.DefaultSaveOrUpdateEventListener.SaveWithGenerated­OrRequestedId(SaveOrUpdateEvent
> > event) at
> > NHibernate.Event.Default.DefaultSaveEventListener.SaveWithGeneratedOrReques­tedId(SaveOrUpdateEvent
> > event) at
> > NHibernate.Event.Default.DefaultSaveOrUpdateEventListener.EntityIsTransient­(SaveOrUpdateEvent
> > event) at
> > NHibernate.Event.Default.DefaultSaveEventListener.PerformSaveOrUpdate(SaveO­rUpdateEvent
> > event) at
> > NHibernate.Event.Default.DefaultSaveOrUpdateEventListener.OnSaveOrUpdate(Sa­veOrUpdateEvent
> > event) at NHibernate.Impl.SessionImpl.FireSave(SaveOrUpdateEvent
> > event) at NHibernate.Impl.SessionImpl.Save(Object obj) at Fil
>
> > My Code for update and insert:
> > public static void InsertFM_DocType(FM_DocType docType)
>
> >    {
> >        using (ISession session =
> > DataConnector.Instance.SessionFactory.OpenSession())
> >        {
> >            using (ITransaction trans = session.BeginTransaction())
> >            {
> >                session.Save(docType);
> >                trans.Commit();
> >            }
> >        }
> >    }
>
> >    public static void UpdateFM_DocType(FM_DocType docType)
> >    {
> >        using (ISession session =
> > DataConnector.Instance.SessionFactory.OpenSession())
> >        {
> >            using (ITransaction trans = session.BeginTransaction())
> >            {
> >                session.Update(docType);
> >                trans.Commit();
> >            }
> >        }
> >    }My DataConnector Class:
> > using System;
> > using FileManager.Models;
> > using FluentNHibernate;
> > using FluentNHibernate.Automapping;
> > using FluentNHibernate.Cfg;
> > using FluentNHibernate.Cfg.Db;
> > using NHibernate;
> > using NHibernate.Cfg;
> > using NHibernate.Tool.hbm2ddl;
>
> > namespace FileManager.Utilities
> > {
>
> > public class DataConnector
> > {
> >   public DataConnector()
> >    {
> >        CreateSessionFactory();
> >    }
>
> >    public static DataConnector Instance
> >    {
> >        get
> >        {
> >            lock (_myLock)
> >            {
> >                return _singleton;
> >            }
> >        }
> >        set
> >        {
> >            lock (_myLock)
> >            {
> >                _singleton = value;
> >            }
> >        }
> >    }
>
> >    public ISessionFactory SessionFactory
> >    {
> >        get
> >        {
> >            return _sessionFactory;
> >        }
> >    }
>
> >    private void CreateSessionFactory()
> >    {
> >        AutoPersistenceModel model = CreateMappings();
>
> >        FluentConfiguration config = Fluently.Configure()
> >                                        .Database(MySQLConfiguration.Standard
> >                                            .ConnectionString(c => c
> >                                                .Server("localhost")
> >                                                .Database("filedata")
> >                                                .Username("root")
> >                                                .Password("")))
> >                                        .Mappings(m =>
> > m.AutoMappings.Add(model));
>
> >        _sessionFactory = config.BuildSessionFactory();
> >    }
>
> >    private AutoPersistenceModel CreateMappings()
> >    {
> >        return AutoMap
> >                .Assembly(System.Reflection.Assembly.GetCallingAssembly())
> >                .Where(t => t.Namespace == "FileManager.Models"); //
> > This is where your models for NHibernate are located.
> >    }
>
> >    private static object _myLock = new object();
> >    private static DataConnector _singleton;
>
> >    private ISessionFactory _sessionFactory;
> > }}
>
> > --
> > You received this message because you are subscribed to the Google Groups 
> > "nhusers" group.
> > To post to this group, send email to [email protected].
> > To unsubscribe from this group, send email to 
> > [email protected].
> > For more options, visit this group 
> > athttp://groups.google.com/group/nhusers?hl=en.- Hide quoted text -
>
> - Show quoted text -

-- 
You received this message because you are subscribed to the Google Groups 
"nhusers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/nhusers?hl=en.

Reply via email to