Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > LINQ (Language-Integrated Query) > SubmitChanges() не работает :(


Автор: PaZ1T1V 7.8.2009, 17:06
Доброго времени суток!
У меня возникла такая проблема, есть делаю инсерт в таблицу, затем все это обновляю, вот код:
Код


 classNewsDataContext db = new classNewsDataContext();
decimal id = Convert.ToDecimal(db.tableAutors.Count() + 1);

            tableAutor autorTbl = new tableAutor();

            autorTbl.AutorsID = id;
                autorTbl.Name = logTxtBox.Text;
                autorTbl.Pswd = passTxtBox.Text;
                autorTbl.eMAil = eMailTxtBox.Text;
            
            db.tableAutors.InsertOnSubmit(autorTbl);
            db.SubmitChanges();



но оно почему то не говорит об ошибке приведения типов, вообще с ним все нормально, якобы, но вот таблицу данных не обновляет и следовательно я что то не правильно деалю, а вот что? хотелось бы узнать...

ЗЫ поле AutorsID имеет тип данных numeric(18,0) а все остальные varchar(MAX)

PPS Подставляя определенные значения я тоже не получаю результата :(( 
Код


      tableAutor autorTbl = new tableAutor();

            autorTbl.AutorsID = 6;
                autorTbl.Name = "werew";
                autorTbl.Pswd = "1234";
                autorTbl.eMAil = "[email protected]";
            
            db.tableAutors.InsertOnSubmit(autorTbl);
            db.SubmitChanges();



Может это происходит из за того что я подключаюсь к базе данных а не к скул серверу?
а может из-за dbml класса, он у меня один, на все три таблицы моей бд


user posted image

ЗЗЗЫ пожалуйста сильно не пинайте,  т к LINQ изучаю недавно

Заранее спасибо!

Автор: PaZ1T1V 7.8.2009, 20:50
Спасибо всем! разобрался! считаю этот вопрос закрытым!Но не пинайте меня сильно за одна тема один вопрос, я знаю что нарушаю правила.... но они для того и созданы (оффтоп)

но подскажите пожалуйста ламеру, как создать connectionstring в объекте класса dataContext своей базы данных???

заранее спасибо !!!

Автор: Chizh 10.8.2009, 15:36
Цитата(PaZ1T1V @  7.8.2009,  18:50 Найти цитируемый пост)
 пожалуйста ламеру, как создать connectionstring в объекте класса dataContext своей базы данных?


порылся в закромах и вот что нашел

коннекшн стринги лучше хранить в app.config
Код

  <connectionStrings>
    <add name="MainConnectionString" 
              connectionString="Data Source=%имя_sql_сервера%;Initial Catalog=%имя_базы%;User ID=%логин_нейм%;Password=%пассворд%"/>
  </connectionStrings>


и читать ее где то так
Код

internal class ConfigurationReader
    {
        private const string MainConnectionStringKey = "MainConnectionString";

        public static string ConnectionString
        {
            get
            {
                ConnectionStringSettings connectionString = ConfigurationManager.ConnectionStrings[MainConnectionStringKey];
                if (connectionString == null)
                {
                    throw new ConfigurationErrorsException(MainConnectionStringKey);
                }
                return connectionString.ConnectionString;
            }
        }
    }


потом создаешь свой контекст вот так вот
Код

    internal class DataContextFactory
    {
        public static TimeTrackerDataContext CreateTimeTrackerDataContext()
        {
            return new TimeTrackerDataContext(CreateConnectionToSqlServer(), GetMappingSource());
        }

        private static MappingSource GetMappingSource()
        {
            return new AttributeMappingSource();
        }

        private static IDbConnection CreateConnectionToSqlServer()
        {
            return new SqlConnection(GetConnectionString());
        }

        private static string GetConnectionString()
        {
            return ConfigurationReader.ConnectionString;
        }
    }


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)