Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.03.2010, 13:06   #1
kostyan23
Новичок
Джуниор
 
Регистрация: 01.03.2010
Сообщений: 1
По умолчанию ADO.NET: VS 2005 C# + Sql server express: добавление записи в таблицу

Всем привет! Заранее оговорюсь что с базами не знаком, поэтому вопрос ламерский! ))))

Есть 2 таблицы: TableUser (пользователи) и TableContact (контакты), связанные по полю idUser. TableUser - родительская таблица. Мне нужно добавить запись в таблицу TableContact. Пытаюсь делать это следующим способом:
Код:
dbContactsDataSet.TableContact.AddTableContactRow( txtContactName.Text, txtContactLastName.Text,
(TaskMaster.dbContactsDataSet.TableUserRow)dbConta ctsDataSet.TableUser.Select("SELECT * FROM TableUser WHERE UserName=" + cUser.Name)[0]);
Метод AddTableContactRow требует для добавления записи Имя, Фамилию и строку TableUserRow, которую я пытаюсь получить так:
(TaskMaster.dbContactsDataSet.Table UserRow)dbConta ctsDataSet.TableUser.Select("SELECT * FROM TableUser WHERE UserName=" + cUser.Name)[0]

При добавлении выдает ошибку:
Syntax error: Missing operand after 'TableUser' operator.

Подскажите в чем тут ошибка или как можно сделать другим способом. Заранее благодарен!

Последний раз редактировалось Stilet; 01.03.2010 в 13:15.
kostyan23 вне форума Ответить с цитированием
Старый 02.03.2010, 14:04   #2
Arnezami
Форумчанин
 
Регистрация: 04.10.2009
Сообщений: 147
По умолчанию

хм... лучше использовать LINQ, намного проще)) Ваш вопрос решаеться за 2 минуты)))

Создайте MyDataBase.dbml, перетащите туда, после коннекта к базе Ваши таблички, и вуаля - классы - сущности для Ваших таблиц готовы)))

Метод добавления данных с использованием LINQ:

Код:

public class CnBaseAdminDal
    {
        private CnDataBaseDataContext _cnDbContext;
        public CnDataBaseDataContext CnDataContext
        {
            get
            {
                if(_cnDbContext == null)
                    _cnDbContext = new CnDataBaseDataContext();
                    return _cnDbContext;
            }
        }
    }

public OperationInfo SetManualDeposits(ManualDeposit deposit)
        {
            try
            {
                CnDataContext.ManualDeposits.InsertOnSubmit(deposit);
                CnDataContext.SubmitChanges();
                return new OperationInfo { IsError = false };
            }
            catch (Exception exc)
            {
                return new OperationInfo
                {
                    IsError = true,
                    Info = "Невозможно пополнить счёт вручную! Ошибка выполнения запроса к базе данных",
                    ExcInfo = exc
                };
            }
        }
Ув. Форумчане! Если мои советы были Вам полезны, не забывайте благодарить в виде повышение рейтинга!!!
http://vkontakte.ru/id6715558

Последний раз редактировалось Arnezami; 02.03.2010 в 14:08.
Arnezami вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Добавление записи в таблицу (ADO) Yura_S БД в Delphi 12 25.11.2009 19:11
Вставка БД с SQL server 2005 фЁдОр SQL, базы данных 17 20.11.2007 17:15
MS SQL server 2000, ADO. Добавленые записи не отображаются при последующих запросах. _victor БД в Delphi 1 17.06.2007 13:33