Форум программистов
Реклама:
Гарантия безопасности сети с UTM-системой ИКС.
Защита ПД, межсетевой экран, контроль доступа, фильтрация трафика, система предотвращения вторжений.
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

Ответ
 
Опции темы
Старый 11.10.2016, 10:56   #1
Lord_Jesus_
Форумчанин
 
Регистрация: 23.09.2016
Сообщений: 166
Репутация: 10
По умолчанию Реализовать работу с базой данных

Уважаемые Разработчики у меня возникла некая сложность,,,не так давно начал изучать c# до этого изучал язык php...Эту же тему я создал в раздели Windows Form...Но там чтото не кто мне на этот вопрос не ответил....может тут кто подскажет..
Создал приложения неплохо освоил windows form но возникли проблемы с базой данных....

В крации объясню свою проблему...

Элементы на форме:

TextBox1
TextBox2
TextBox3
TextBox4
button1
button2
button3
button4
button5
button6
button7

База данных: DataBase

Теперь моя задача то что я хочу реализовать...но чтото не как не получается...

1-----button1 (сохраняет) после того как заполнены поля TextBox после нажатия на кнопку сохраняет данные в базу
2-----button2 (поиск) реализует поиск по базе данных по дате (через текстбокс ввожу дату и нажимаю на кнопку)и вытаскивает все в поля TextBox
3-----button3 (далее) в том случае если поиск дал несколько результатов при нажатии на кнопку выводился следующий результат
4-----button4 (назад) в том случае если поиск дал несколько результатов при нажатии на кнопку выводился предыдущий результат
5-----button5 (изменить) после поиска когда все результаты вытащены из базы в поля TextBox можно было их изменить если это реализовать через кнопку button1 (сохраняет) будет еще лучше
6-----button6 (Удалить)после поиска когда все результаты вытащены из базы в поля TextBox можно было их удалить из базы данных
7-----button7 (обновить) очищает поля TextBox


Пожалуйста кто знает подскажите решение лазил в google но так ничего конкретного найти не удалось...
Lord_Jesus_ вне форума   Ответить с цитированием
Старый 11.10.2016, 11:12   #2
Alex11223
Модератор
Заслуженный модератор
 
Регистрация: 12.01.2011
Сообщений: 13,734
Репутация: 2701

icq: 512-7шесть5
skype: alexp.frl
По умолчанию

Цитата:
Сообщение от Lord_Jesus_ Посмотреть сообщение
Элементы на форме:

TextBox1
TextBox2
TextBox3
TextBox4
button1
button2
button3
button4
button5
button6
button7
давайте нормальные имена элементам.

Цитата:
Сообщение от Lord_Jesus_ Посмотреть сообщение
Эту же тему я создал в раздели Windows Form...Но там чтото не кто мне на этот вопрос не ответил....может тут кто подскажет..
Дело не в разделе, тут же не 100500 тем в день создается, вряд ли кто-то смотрит на этот раздел и не видит тот. Скорее всего или слишком мутный вопрос, или все заняты были и т.п.


Цитата:
Сообщение от Lord_Jesus_ Посмотреть сообщение
но чтото не как не получается
что именно не получается? невозможно помочь без более четкого вопроса, только посоветовать идти изучать основы ADO.NET и винформс
Alex11223 вне форума   Ответить с цитированием
Старый 12.10.2016, 20:26   #3
Lord_Jesus_
Форумчанин
 
Регистрация: 23.09.2016
Сообщений: 166
Репутация: 10
По умолчанию

Винформ изучил вроде неплохо,,,на базовом уровне новичка,,, с ADO.NET еще не сталкивался,,,,поэтому попросил написать код,,,
Скачал книгу Дэвид Сеппа - Microsoft ADO.NET вроде все написано понятно но у меня чтото все равно не получается,,,
Использую Microsof Visual Studio 2015 .... может эта книга просто неподходит к данной версии???
Если так то можите посоветовать хорошие книги для изучения??
Lord_Jesus_ вне форума   Ответить с цитированием
Старый 12.10.2016, 20:46   #4
Alex11223
Модератор
Заслуженный модератор
 
Регистрация: 12.01.2011
Сообщений: 13,734
Репутация: 2701

icq: 512-7шесть5
skype: alexp.frl
По умолчанию

Не знаю, не читал книг по ADO.NET, только msdn, гугл, stackoverflow.

Что именно не получается-то?

Цитата:
Сообщение от Lord_Jesus_ Посмотреть сообщение
Microsof Visual Studio 2015 .... может эта книга просто неподходит к данной версии???
маловероятно, вряд ли он сильно изменился, кроме Entity Framework.
Alex11223 вне форума   Ответить с цитированием
Старый 12.10.2016, 22:05   #5
Пепел Феникса
Модератор
Заслуженный модератор
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Адрес: Москва
Сообщений: 20,963
Репутация: 3384

icq: 446843180
skype: phoenix_proger
По умолчанию

ну а где ваши попытки, раз говорите не получается?
основы работы с БД то есть?
__________________
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума   Ответить с цитированием
Старый 13.10.2016, 20:27   #6
Lord_Jesus_
Форумчанин
 
Регистрация: 23.09.2016
Сообщений: 166
Репутация: 10
По умолчанию

Как я уже говорил я в с# новичок,,,,нашел пару учебников разобрался с базой данных...и реализовал все что писал выше,,,,
Но правда не так как хотелось мне....
Получилось реализовать это с базой данных SQL Server Compact Edition Database File (.sdf)...
Подскажите если вас низатруднит как можно сделать все что я писал выше но работай при этом с базой данных SQL Server (.MDF) Local
Если я гдето неправильно выразился то паправте меня,,,я еще пока во всем этом начинающий)))
Или хотябы подскажите книгу
Lord_Jesus_ вне форума   Ответить с цитированием
Старый 13.10.2016, 20:36   #7
Alex11223
Модератор
Заслуженный модератор
 
Регистрация: 12.01.2011
Сообщений: 13,734
Репутация: 2701

icq: 512-7шесть5
skype: alexp.frl
По умолчанию

Так все так же, кроме ConnectionString и особенностей установки этого самого "SQL Server (.MDF) Local".

Кстати, а зачем он?
Если нужна БД без сервера, то проще SQLite взять. Недавно была тема о похожем http://programmersforum.ru/showthread.php?t=298211

И не разбрасывайтесь так запятыми и точками, пригодятся.

Последний раз редактировалось Alex11223; 13.10.2016 в 20:40.
Alex11223 вне форума   Ответить с цитированием
Старый 14.10.2016, 10:45   #8
Lord_Jesus_
Форумчанин
 
Регистрация: 23.09.2016
Сообщений: 166
Репутация: 10
По умолчанию

Хорошо спасибо
А сможете дать какой нибудь небольшой пример с использованием базы данных "SQL Server (.MDF) Local"?
Lord_Jesus_ вне форума   Ответить с цитированием
Старый 14.10.2016, 10:55   #9
Alex11223
Модератор
Заслуженный модератор
 
Регистрация: 12.01.2011
Сообщений: 13,734
Репутация: 2701

icq: 512-7шесть5
skype: alexp.frl
По умолчанию

Первая ссылка в гугле по запросу "ado.net mdf local"
http://stackoverflow.com/questions/8...-database-file
Alex11223 вне форума   Ответить с цитированием
Старый 14.10.2016, 16:58   #10
Lord_Jesus_
Форумчанин
 
Регистрация: 23.09.2016
Сообщений: 166
Репутация: 10
По умолчанию

Код:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Data.SqlServerCe;
namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();

    
            int w = 0;
            for (int i = 0; i < listView1.Columns.Count; i++)
            {
                w += listView1.Columns[i].Width;
            }
            
            if (listView1.BorderStyle == BorderStyle.Fixed3D)
                w += 4;
            
            listView1.Width = w+17;

           
            listView1.FullRowSelect = true;
        }

        private void Form1_Load(object sender, EventArgs e)
        {
        
            SqlCeEngine engine;
            
            engine = new SqlCeEngine("Data Source='base.sdf';");
            if (!(File.Exists("base.sdf")))
            {
                engine.CreateDatabase();
                SqlCeConnection connection = new SqlCeConnection(engine.LocalConnectionString);
                connection.Open();
                SqlCeCommand command = connection.CreateCommand();
                command.CommandText =
                    "CREATE TABLE base (cid int IDENTITY(1,1), name nvarchar(50) NOT NULL, phone nvarchar(50), email nvarchar(50), date nvarchar(50))";
                command.ExecuteScalar();
                connection.Close();
            }
            else
            {
                ShowDB();
            }
        }

        private void ShowDB()
        {
            SqlCeEngine engine = new SqlCeEngine("Data Source='base.sdf';");
            SqlCeConnection connection = new SqlCeConnection(engine.LocalConnectionString);
            connection.Open();
            SqlCeCommand command = connection.CreateCommand();
            command.CommandText = "SELECT * FROM contacts ORDER BY name";
            SqlCeDataReader dataReader = command.ExecuteReader();

            string st; 
            int itemIndex = 0;

            listView1.Items.Clear();

            while (dataReader.Read())
            {
                for (int i = 0; i < dataReader.FieldCount; i++)
                {
                    st = dataReader.GetValue(i).ToString();
                    switch (i)
                    {
                        case 0:  
                            listView1.Items.Add(st);
                            break;
                        case 1:  
                            listView1.Items[itemIndex].SubItems.Add(st);
                            //listView1.Items.Add(st);
                            break;
                        case 2: 
                            listView1.Items[itemIndex].SubItems.Add(st);
                            break;
                        case 3:  
                            listView1.Items[itemIndex].SubItems.Add(st);
                            break;
                        case 4: 
                            listView1.Items[itemIndex].SubItems.Add(st);
                            break;
                    };
                }
                itemIndex++;
            }
            connection.Close();
        }

        
        private void listView1_ItemSelectionChanged(object sender, ListViewItemSelectionChangedEventArgs e)
        {
        
        
            if (e.IsSelected)
            {
                textBox4.Text = listView1.Items[e.ItemIndex].Text;

                for (int i = 1; i < listView1.Items[e.ItemIndex].SubItems.Count; i++)
                {
                    switch (i)
                    {
                        case 1:
                            textBox1.Text = listView1.Items[e.ItemIndex].SubItems[i].Text;
                            break;
                        case 2:
                            textBox2.Text = listView1.Items[e.ItemIndex].SubItems[i].Text;
                            break;
                        case 3:
                            textBox3.Text = listView1.Items[e.ItemIndex].SubItems[i].Text;
                            break;
                        case 4:
                            datet.Text = listView1.Items[e.ItemIndex].SubItems[i].Text;
                            break;
                    }
                }
            }
        }

     
        private void button1_Click(object sender, EventArgs e)
        {
            SqlCeConnection conn = new SqlCeConnection("Data Source ='base.sdf'");
            conn.Open();
            SqlCeCommand command = conn.CreateCommand();
            command.CommandText = "INSERT INTO base(name, phone,email,date) VALUES(?,?,?,?)";
            command.Parameters.Add("name", textBox1.Text);
            command.Parameters.Add("phone", textBox2.Text);
            command.Parameters.Add("email", textBox3.Text);
            command.Parameters.Add("date", datet.Text);
            command.ExecuteScalar();
            conn.Close();

         
            textBox1.Clear();
            textBox2.Clear();
            textBox3.Clear();
         

            ShowDB();

            
            textBox1.Focus();
        }


Допустим есть вот такой код приложения, какие в нем нужно внести изменения чтобы была подключина база данных sql server .mdf local?? подскажите пожалуйста

______________________
Используйте тег [CODE] (кнопка с решеткой # в форме сообщения) при вставке кода на форум.
Lord_Jesus_ вне форума   Ответить с цитированием
Ответ



Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
С базой данных ArinaP БД в Delphi 5 24.05.2015 00:57
Реализовать работу предприятия в БД наилучшим образом! (автосервис) ЖеняЖеняЖеня Microsoft Office Access 2 12.04.2013 13:13
Реализовать работу формулы Prony5 Паскаль 7 19.10.2011 09:59
Реализовать работу с файлом death65 Помощь студентам 2 14.02.2011 18:18
как ускорить работу с большой dbf базой? avfly БД в Delphi 22 13.10.2009 21:37




21:23.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.

купить трафик


как улучшить посещаемость, а также решения по монетизации сайтов, видео и приложений

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru