19 / 20 / 8
Регистрация: 27.11.2010
Сообщений: 323
1

Работа с Access

01.12.2010, 23:17. Показов 2051. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
предположим есть база данных с столбцами 1 номер 2 вопрос 3 варианты 4 ответ
в c# visual studio у меня есть random генератор который выдает случайные числа
вопрос как вывести из базы данных и записать в разные переменные: вопрос,вариант и ответ под номером который с генерировал мой random?
(работа в access)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.12.2010, 23:17
Ответы с готовыми решениями:

Что лучше: работа с Access через ADO.NET или силами самого Access?
Считаю, что лучше работать с регулярно поступающим в Access объемом данных, разработав приложение...

Работа с БД MS Access
Задание: 1. Создать БД с одной таблицей. 2. Подключиться к ней из консольного приложения. 3. Из...

Работа с БД в Access
Есть задача: Таблица Coordinates базы данных содержит координаты отрезка x1, x2 на координатной...

Работа с БД access
Привет всем! Проблема с сохранением измененной таблицы БД в файл аксес. Вот код, загружающий БД в...

9
128 / 128 / 8
Регистрация: 24.11.2010
Сообщений: 237
02.12.2010, 05:56 2
HellsingOva, если ты пользуешься тем классом который я тебе написал в вопросе о подключении, то можно так
C#
1
2
3
4
5
6
7
8
            conOpen=mdbCon.OpenCon(conOpen);
            mdbCon.SetCommandText("SELECT * FROM Имя_твоей_таблицы WHERE столбец_с_номером = "+переменная_куда_сокраняется_случайное_число.ToString());
            OleDbDataReader mReader = mdbCon.cmdExecuteReader();
            mReader.Read();
            /* я здесь достаю из того что вернет запрос, данные первого столбца из таблицы 
                заменяя 0 на 1,2,3 получишь, соответственно второй, третий и четвертый столбец*/
            count = Convert.ToInt32(mReader[mReader.GetName(0)].ToString()) + 1;
            mReader.Close();
0
19 / 20 / 8
Регистрация: 27.11.2010
Сообщений: 323
02.12.2010, 10:07  [ТС] 3
Цитата Сообщение от galexser Посмотреть сообщение
HellsingOva, если ты пользуешься тем классом который я тебе написал в вопросе о подключении, то можно так
C#
1
2
3
4
5
6
7
8
            conOpen=mdbCon.OpenCon(conOpen);
            mdbCon.SetCommandText("SELECT * FROM Имя_твоей_таблицы WHERE столбец_с_номером = "+переменная_куда_сокраняется_случайное_число.ToString());
            OleDbDataReader mReader = mdbCon.cmdExecuteReader();
            mReader.Read();
            /* я здесь достаю из того что вернет запрос, данные первого столбца из таблицы 
                заменяя 0 на 1,2,3 получишь, соответственно второй, третий и четвертый столбец*/
            count = Convert.ToInt32(mReader[mReader.GetName(0)].ToString()) + 1;
            mReader.Close();
открываю базу так
C#
1
2
3
            OleDbConnection con1 = new OleDbConnection();//создаем объект соединения
            con1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + @"D:\\test.mdb";//указываем строку соединения
            con1.Open();//открываем соединение
да и зачем в строке
count = Convert.ToInt32(mReader[mReader.GetName(0)].ToString()) + 1;
+1?
0
128 / 128 / 8
Регистрация: 24.11.2010
Сообщений: 237
02.12.2010, 21:11 4
Цитата Сообщение от HellsingOva Посмотреть сообщение
да и зачем в строке
count = Convert.ToInt32(mReader[mReader.GetName(0)].ToString()) + 1;
+1?
в этой строке я для своих целей ищу максимальный номер id в базе, чтобы добаветь следующий элемент в базу я просто прибавляю к максимальному 1
0
19 / 20 / 8
Регистрация: 27.11.2010
Сообщений: 323
02.12.2010, 21:21  [ТС] 5
у меня есть числовой столбец "Попытка" с числами по умолчанию ноль
вопрос как при помощи запроса на обновление наростить значение на единицу

я пробовал так
string obnovlenie = "UPDATE test SET Попытка ='+1', Дата ='"+d+"' WHERE Номер_Зачетки = '"+textBox1.Text+"';";
OleDbCommand InsCom = new OleDbCommand(obnovlenie, con);

так он место того чтобы наростить меняет его на 1

а мне нужно например в таблице значение 3 выполняю запрос становиться 4
0
58 / 58 / 11
Регистрация: 21.07.2009
Сообщений: 78
02.12.2010, 21:47 6
SQL
1
UPDATE test SET Попытка =Попытка +1
0
128 / 128 / 8
Регистрация: 24.11.2010
Сообщений: 237
02.12.2010, 22:15 7
HellsingOva, либо сделать как сказал Ivan___, либо сначала считать в переменную типа int (запрос SELECT с твоим условием
Цитата Сообщение от HellsingOva Посмотреть сообщение
WHERE Номер_Зачетки = '"+textBox1.Text
), как сделал я
Цитата Сообщение от galexser Посмотреть сообщение
count = Convert.ToInt32(mReader[mReader.GetName(0)].ToString()) + 1;
. А затем это значение подставить в запрос на обновление
0
19 / 20 / 8
Регистрация: 27.11.2010
Сообщений: 323
02.12.2010, 22:58  [ТС] 8
странно если я использую new Query в Server Explorer запрос работает и меняет значение а если ставлю в программу то нет

string obnovlenie = "UPDATE test SET Попытка = Попытка + 1 WHERE Номер_Зачетки = '"+textBox1.Text+"';";// вместо textbox ставил число зачетки результат тот же и ошибок нет
OleDbCommand InsCom = new OleDbCommand(obnovlenie, con);

Добавлено через 29 минут
блин 2 часа парюсь и мозги начинают потехоньку стекать

мне в субботу показывать курсач на предмет что успел сделать а преподы не хотят помогать даже консультацией говорят в справке и поддержке все есть так она на английском и не все понятно точнее малое что понятно а осталась только 2 вопроса буквально какие то 5 - 10 строчек кода
1 сделать это долбаное обновление и считать нужную мне строку и хоть убей не понимаю как это сделать люди помогите пожалуйста я подключаюсь к базе так
OleDbConnection con = new OleDbConnection();//создаю объект соединения
con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + @"D:\\test.mdb";//указываю строку соединения
con.Open();//открываю соединение

затем указываю команду на обновление OleDbCommand InsCom = new OleDbCommand(obnovlenie, con);//string obnovlenie = "UPDATE test SET Попытка = Попытка + 1 , Дата="+d+" WHERE Номер_Зачетки = '"+textBox1.Text+"';";//дату обновляет попытку не хочет

и извлечь из базы значения и записать их в разные переменные типа string
например база Testirovanie столбцы : Номер_Вопроса , Вопрос , Ответы , Число
0
0 / 0 / 0
Регистрация: 11.04.2015
Сообщений: 4
22.06.2015, 20:50 9
есть вопрос к тебе немного по другой теме. я смотрю ты знающий. как добавить в access через C# в несколько полей числа типа double?
0
58 / 58 / 11
Регистрация: 21.07.2009
Сообщений: 78
22.06.2015, 23:43 10
Тут посмотри
1
22.06.2015, 23:43
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.06.2015, 23:43
Помогаю со студенческими работами здесь

Работа с бд Access
Всем добрый день. У меня такая проблема. Написано приложение для работы с базой данных Access,...

Работа с access
Собственно имеется несколько вопрос, касающихся работы с access-ом в c#: Каким образом можно...

Работа с Access
Доброго времени суток, мне нужно сделать программу с вводом логина и пароля и с запоминанием их в...

Работа с Access БД
Подскажите для того, что бы прочитать структуру БД: -Типы полей -Узнать ключи -Узнать какие...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru