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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.08.2012, 01:44   #1
pieceofmilk
Новичок
Джуниор
 
Регистрация: 23.08.2012
Сообщений: 1
Вопрос Windows-формы (с#, ADO.net, БД)

Здравствуйте!

Есть несколько вопросов по построению windows-приложений.
Пропустила весь прошлый семестр, поэтому приходится наверстывать упущенное и строить их самостоятельно. Проблема в том, что руководство древнее, написано под Visual Studio 2003 и соответственно под старый SQL server. Делать же надо в VS 2008, и сервер тоже 2008й. Отсюда и проблемы Используются стандартные базы Northwind и Pubs.
Проекты прилагаются.

1. Не работает удаление выделенной записи из dataGrid и из базы (Northwind)
Код кнопки из тутора :
Код:
{ 
int row;
int CategoryID;
row=dataGrid1.CurrentCell.RowNumber;
CategoryID=dataSet11.Categories[row].CategoryID;
SqlDataAdapter1.DeleteCommand. Parameters["@Original_CategoryID"].Value=CategoryID;
SqlConnection1.Open();
SqlDataAdapter1.DeleteCommand.ExecuteNonQuery();
SqlConnection1.Close(); 
dataSet11.Clear(); 
SqlDataAdapter1.Fill(dataSet11);
}
sqlDataAdapter с 2008м сервером не работает, поэтому использую oleDbDataAdapter (и oleDbConnection)
Код:
oleDbDataAdapter1.DeleteCommand.Parameters["Original_CategoryID"].Value = "CategoryID";
oleDbDataAdapter1.DeleteCommand.Parameters["Original_CategoryName"].Value = "CategoryName";
oleDbConnection1.Open();
oleDbDataAdapter1.DeleteCommand.ExecuteNonQuery();
oleDbConnection1.Close();
dataSet11.Clear();
oleDbDataAdapter1.Fill(dataSet11);

При нажатии на кнопку выдает ошибку в этой строчке
oleDbDataAdapter1.DeleteCommand.Exe cuteNonQuery();
и исключение Failed to convert parameter value from a String to a Int32.

Подозреваю, что проблема в параметрах deleteCommand, но решения так и не нашла

2. Второй проект – вывод данных в dataGrid при нажатии на кнопку (тоже база Northwind).
Выдает следующую ошибку: «the name ‘dataGrid1’ does not exist in the current context»
Код:
private void button1_Click(object sender, EventArgs e)
        {
            DataSet ds;
            oleDbConnection1.Open();
            oleDbDataAdapter1.Fill(ds, "Customers");
            oleDbDataAdapter2.Fill(ds, "Orders");
            oleDbDataAdapter3.Fill(ds, "OrderDetails");
            oleDbConnection1.Close();
            ds.Relations.Add("Заказы", ds.Tables["customers"].Columns["CustomerID"],
                        ds.Tables["Orders"].Columns["CustomerID"]);
            ds.Relations.Add("Детали заказа", ds.Tables["Orders"].Columns["OrderID"],
                    ds.Tables["OrderDetails"].Columns["OrderID"]);
             dataGrid1().DataSource = ds;
             dataGrid1().DataMember = "Customers"; 
        }
3. Есть список штатов (листбокс), при выборе штата и нажатии на кнопку «загрузить» в таблице должны выводиться авторы из этого штата (база Pubs).
В туторе написано, что надо создать отдельный датасет для штатов, ок. В datasource и displaymember выбрала датасет и штат, но ничего не выводится. Плюс вероятно надо изменить код кнопки (этот выводит тоже авторов штата, но по значению, введенному в текстовое поле)
Код кнопки:
Код:
private void btnShow_Click(object sender, EventArgs e)
        {
            oleDbDataAdapter1.SelectCommand.Parameters["state"].Value = txtStateParameter.Text;
            dsAuthors1.Clear();
            oleDbDataAdapter1.Fill(dsAuthors1);
            if (this.BindingContext[dsAuthors1, "authors"].Count == 0)
            {
                MessageBox.Show("Нет записей для штата " + txtStateParameter.Text);
                txtStateParameter.Focus();
            }
            else
            {
                ShowPosition();
            } 
        }
----
Если что, все объекты (соединения, адаптеры, кнопки, листбоксы) переношу на форму из дизайнера.
Надеюсь на помощь, заранее огромное спасибо!
Вложения
Тип файла: rar projects.rar (225.7 Кб, 6 просмотров)
pieceofmilk вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ADO.NET tiger Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate) 0 21.02.2011 22:24
Удаленный SQL-сервер Ado.Net + .Net remoting + Asp .Net gammaray Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate) 2 22.11.2010 17:36
ADO.NET CreaGame Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate) 10 22.08.2009 23:23
ADO.Net __avatar__ Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate) 3 01.06.2009 01:44