С Новым годом! Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.52/21: Рейтинг темы: голосов - 21, средняя оценка - 4.52
 Аватар для vetal_x
21 / 21 / 5
Регистрация: 23.01.2013
Сообщений: 371

Программа с базой данных работающая на любом компьютере

29.01.2013, 14:00. Показов 3972. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Я только учусь.
мне нада сделать прогу которая могла б работать на любом компе
у нее должна быть база даных где будут хранится все данные
подскажыте какую бд успользовать и как прописать строку соеденения.
Зарание благодарю


я был бы совсем не против, если б мне помогли разобратся в этой базе данных

Добавлено через 10 часов 28 минут
Я создал бд у формате мдф, создал таблицу с 4 полями.
перетащил базу на форму.
создал 2 текст бокса и кнопку
а как мне теперь при клике на боттон записать в бд данные с текстбоксов?

Добавлено через 10 минут
может лучше создать локал датабейс?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.01.2013, 14:00
Ответы с готовыми решениями:

Как прописать строку подключения к БД, чтобы программа работала на любом компьютере
Недавно начал осваивать работы с базами данных , и в данный момент столкнулся с конкретной проблемой , : на форме есть datagridview к...

Программа с базой расположенна на удаленном компьютере как подключиться?
Здравствуйте! В общем ситуация такая - есть два офиса условно 1 и 2 расположенных в разных концах города, доступ к интернет предоставляет 2...

Как сделать чтобы база данных заработала на любом компьютере
Как сделать чтобы база данных заработала на любом компьютере без приминения всяких настроек? Делаю курсовую по Базам Данных в Делфи. Формат...

10
 Аватар для mikhail_g
192 / 147 / 27
Регистрация: 02.05.2011
Сообщений: 467
29.01.2013, 19:16
Почитайте
https://www.cyberforum.ru/ado-... 42184.html
https://www.cyberforum.ru/ado-... 82279.html
1
 Аватар для vetal_x
21 / 21 / 5
Регистрация: 23.01.2013
Сообщений: 371
29.01.2013, 20:06  [ТС]
ВАУ. Я в восторге, благадарю за ссылочки. Но мне былоби интересно узнать какую бд заводить, когда нажымаю нев мтем.
я пробовал разные, но мне нужно такую штобы была в папке вместе с прогой
Заранее длагодарю
0
 Аватар для vetal_x
21 / 21 / 5
Регистрация: 23.01.2013
Сообщений: 371
29.01.2013, 22:49  [ТС]
вроде бы с базой разобрался
Выбрал Севис датебейс с росшырением mdf
создал соеденение с помощю https://www.cyberforum.ru/ado-... 82279.html
но вот тут проблема:
C#
1
2
3
4
5
6
7
8
/*Создаем экземпляр класса  SqlCommand по имени cmdCreateTable
                 и передаем конструктору этого класса, запрос на 
                 добавление строки в  таблицу Students
                 и объект типа SqlConnection
                */
               
                SqlCommand cmd = new SqlCommand("Insert into Students" +
                "(ID,FIO,Grupa) Values (@ID,@FIO,@Grupa)", conn);
мне тут непонятно чуточку непонятно. я наповню што работаю с формами.

Добавлено через 24 секунды
вроде бы с базой разобрался
Выбрал Севис датебейс с росшырением mdf
создал соеденение с помощю https://www.cyberforum.ru/ado-... 82279.html
но вот тут проблема:

/*Создаем экземпляр класса SqlCommand по имени cmdCreateTable
и передаем конструктору этого класса, запрос на
добавление строки в таблицу Students
и объект типа SqlConnection
*/

SqlCommand cmd = new SqlCommand("Insert into Students" +
"(ID,FIO,Grupa) Values (@ID,@FIO,@Grupa)", conn);

мне тут непонятно чуточку непонятно. я наповню што работаю с формами.
0
 Аватар для mikhail_g
192 / 147 / 27
Регистрация: 02.05.2011
Сообщений: 467
30.01.2013, 13:23
C#
1
2
3
4
5
6
7
8
9
10
11
12
SqlCommand cmd = new SqlCommand("Insert into Students" + "(ID,FIO,Grupa) Values (@ID,@FIO,@Grupa)", conn);
cmd.Parameters.AddWithValue(@ID, textBoxID.Text);
cmd.Parameters.AddWithValue(@FIO, textBoxFIO.Text);
cmd.Parameters.AddWithValue(@Grupa, textBoxGrupa.Text);
try
{
    cmd.ExecuteNonQuery();
}
catch 
{
    
}
textBoxID
textBoxFIO
textBoxGrupa
- это ваши контролы в которые вы вводите данные о студенте
1
 Аватар для vetal_x
21 / 21 / 5
Регистрация: 23.01.2013
Сообщений: 371
30.01.2013, 16:47  [ТС]
я конешно новачок, но не настолько что этого не знать
у меня были проблемы с catch (SqlException se)
устранил и все заработало


извените, что до меня так долго доходит но у меня опять проблеми
вот часть кода
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
private void button1_Click(object sender, EventArgs e)
        {
           
            string connStr = @"Data Source=(local)\SQLEXPRESS;
                            Initial Catalog=mydbDataSet;
                            Integrated Security=True";
            SqlConnection conn = new SqlConnection(connStr);
            try
            {
                conn.Open();
            }
            catch (SqlException se)
            {
                Console.WriteLine("Ошибка подключения:{0}",se.Message);
                return;
            }
            SqlCommand cmd = new SqlCommand("Insert into mytable" +
               "(id,nam,fam,bat) Values (@id,@nam,@fam,@bat)", conn);
            SqlParameter param = new SqlParameter();
            param.ParameterName = "@id";
            param.Value = 10;
            param.SqlDbType = SqlDbType.Int;
            cmd.Parameters.Add(param);
            param = new SqlParameter();
            param.ParameterName = "@nam";
            param.Value = "Иванов";
            param.SqlDbType = SqlDbType.Text;
            cmd.Parameters.Add(param);
            param = new SqlParameter();
            param.ParameterName = "@fam";
            param.Value = "ivan";
            param.SqlDbType = SqlDbType.Text;
            cmd.Parameters.Add(param);
            param = new SqlParameter();
            param.ParameterName = "@bat";
            param.Value = "Ивановidas";
            param.SqlDbType = SqlDbType.Text;
            cmd.Parameters.Add(param); 
             try
                {
                    cmd.ExecuteNonQuery();
                }
             catch
             {
                 Console.WriteLine("Ошибка, при выполнении запроса на добавление записи");
                 return;
             }
        }
при нажатии на кнопку нет не ошыбки не глюку. но в бд не добавляет
0
 Аватар для mikhail_g
192 / 147 / 27
Регистрация: 02.05.2011
Сообщений: 467
30.01.2013, 17:13
C#
1
2
3
4
5
6
7
8
9
10
try
                {
                    int rowAffected= cmd.ExecuteNonQuery();
                    Console.WriteLine("({0}) Row affected\n", rowAffected);
                }
             catch
             {
                 Console.WriteLine("Ошибка, при выполнении запроса на добавление записи");
                 return;
             }
Попробуйте так написать во-первых, и посмотреть что он напечатает.
Во-вторых, если у вас в таблице ID - Primary Key, соответсвенно надо поменять запрос на
"Insert into mytable values (@nam,@fam,@bat)". Должно всё заработать как надо!

Добавлено через 5 минут
И ещё одно, вы должны закрыть соединение после того, как его вызвали. Добавьте обработчик Finaly к последнему try catch, и в нём вызывайте conn.Close();
Другой метод использование блок using() {} - который гарантирует вызов метода Dispose дл объекта объявленного в качестве параметра, в конце выполнения блока. (в методе Dispose класса SqlConnection выполняется метод Close()).
т.е. выглядит это вот так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
using (object o = new object())
{
 
}  //по окончанию будет вызван метод o.Dispose();
 
//Для вашего случая пишите вот так:
using (SqlConnection connection=new SqlConnection(conString))
{
connection.Open(); 
//выполнение комманд и т.п.
} //вызывать connection.Close() нет необходимости
 
//другой пример использования
using (StreamReader reader=new StreamReader (patg))
{
 
} //вызывать reader.Close() нет необходимости
0
 Аватар для vetal_x
21 / 21 / 5
Регистрация: 23.01.2013
Сообщений: 371
30.01.2013, 19:17  [ТС]
а то ничего что в самой програме я пишу
C#
1
param.SqlDbType = SqlDbType.Text;
в server explorer: nchar
а в datasourc: System.String
меня немного беспокаят эти типы

Добавлено через 12 минут
я в форме работаю, разве тута есть консольный режым?

Добавлено через 6 минут
да q база данных называется mydb.sdf
чота я туплю(

Добавлено через 51 минуту
C#
1
2
3
cmd.Parameters.AddWithValue(@ID, textBoxID.Text);
cmd.Parameters.AddWithValue(@FIO, textBoxFIO.Text);
cmd.Parameters.AddWithValue(@Grupa, textBoxGrupa.Text);
делал так, но выскакивает ошыбка:
The name 'ID' does not exist in the current context

Добавлено через 6 минут
говорит нужно обявить переменную
0
 Аватар для vetal_x
21 / 21 / 5
Регистрация: 23.01.2013
Сообщений: 371
30.01.2013, 20:43  [ТС]
народ я сделал все как писало в ссылке но бд не создалась
нету нового файла в папке
што мне делать? помогите
0
 Аватар для vetal_x
21 / 21 / 5
Регистрация: 23.01.2013
Сообщений: 371
30.01.2013, 22:40  [ТС]
да ну помогите, меня же убют! если я не смогу делать записи в бд
0
 Аватар для mikhail_g
192 / 147 / 27
Регистрация: 02.05.2011
Сообщений: 467
04.02.2013, 15:33
Попробуйте скопировать вот это в отдельный метод и запустить
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 String str;
    SqlConnection myConn = new SqlConnection ("Server=localhost;Integrated security=SSPI;database=testDB");
 
    str = "CREATE DATABASE MyDatabase ON PRIMARY " +
        "(NAME = MyDatabase_Data, " +
        "FILENAME = 'C:\\MyDatabaseData.mdf', " +
        "SIZE = 2MB, MAXSIZE = 10MB, FILEGROWTH = 10%) " +
        "LOG ON (NAME = MyDatabase_Log, " +
        "FILENAME = 'C:\\MyDatabaseLog.ldf', " +
        "SIZE = 1MB, " +
        "MAXSIZE = 5MB, " +
        "FILEGROWTH = 10%)";
 
    SqlCommand myCommand = new SqlCommand(str, myConn);
    try 
    {
        myConn.Open();
    myCommand.ExecuteNonQuery();
    MessageBox.Show("DataBase is Created Successfully", "MyProgram", MessageBoxButtons.OK, MessageBoxIcon.Information);
    }
    catch (System.Exception ex)
    {
    MessageBox.Show(ex.ToString(), "MyProgram", MessageBoxButtons.OK, MessageBoxIcon.Information);
    }
    finally
    {
    if (myConn.State == ConnectionState.Open)
    {
        myConn.Close();
    }
    }
Добавлено через 48 секунд
В переменной str всё понятно должно быть - там имя БД и путь к ней прописаны. Так же прописан путь для log файла
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.02.2013, 15:33
Помогаю со студенческими работами здесь

Программа, работающая с базами данных
Добрый всем вечер. Нужна помощь , чтобы кто-нибудь написал программу используя такие пункты: 1.Предметная облость - любая. ...

Запуск приложения с базой данных на другом компьютере
Есть приложение, написанное на C# с подключенной к нему базой данных (sql server). Вопрос в следующем: нужно ли инсталлировать sql server...

А прога, работающая через АDО с базами, работает ли на любом компе?
А проа работаюший АDО базами работает ли на любом компе? Например, для работы прога работаюшии Pаrаdох базами на "чистым" компе...

Программа с базой данных
Здравствуйте! Написала программу на с# с подключенной mysql базой данных, строка подключения string connectionString =...

Qt 5.3 + программа с базой данных, ошибка
Имеется программа, написанная на qt, с подключенной с ней базой данных. Компиляция проходит нормально, но при запуске вылетает окно...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru