Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Создание приложение в C# для бд (ms sql)  [new]
Timass
Member

Откуда:
Сообщений: 26
Вопрос вообщем вот в чем.

Создал я бд(Склад).

Есть несколько триггеров, для автоматического переноса из таблицы прихода на склад, и вычитание количество материала из склада если есть расход

Но при создание приложения в C#, в приложение они не заработали,
то есть вбиваю данные в таблицу приход, и потом они не появляются на складу.

Подскажите, как исправить это.
1 июн 15, 03:28    [17713635]     Ответить | Цитировать Сообщить модератору
 Re: Создание приложение в C# для бд (ms sql)  [new]
SQL2008
Member

Откуда: Москва
Сообщений: 4256
Ошибка в 17-й строке.
1 июн 15, 09:28    [17713856]     Ответить | Цитировать Сообщить модератору
 Re: Создание приложение в C# для бд (ms sql)  [new]
Belavik
Member

Откуда: ПТ-У
Сообщений: 27601
Timass
Вопрос вообщем вот в чем.

Создал я бд(Склад).

Есть несколько триггеров, для автоматического переноса из таблицы прихода на склад, и вычитание количество материала из склада если есть расход

Но при создание приложения в C#, в приложение они не заработали,
то есть вбиваю данные в таблицу приход, и потом они не появляются на складу.

Подскажите, как исправить это.

Написать нормально приложение
1 июн 15, 11:31    [17714499]     Ответить | Цитировать Сообщить модератору
 Re: Создание приложение в C# для бд (ms sql)  [new]
Timass
Member

Откуда:
Сообщений: 26
Belavik, а то я дебил и не понимаю, что надо его нормально написать.

Лучше бы подсказали что я именно мог пропустить.

Так как я только этим начал заниматься и еще не все знаю.
1 июн 15, 11:37    [17714528]     Ответить | Цитировать Сообщить модератору
 Re: Создание приложение в C# для бд (ms sql)  [new]
Timass
Member

Откуда:
Сообщений: 26
SQL2008, Юмор на высшем уровне.
1 июн 15, 11:38    [17714535]     Ответить | Цитировать Сообщить модератору
 Re: Создание приложение в C# для бд (ms sql)  [new]
Belavik
Member

Откуда: ПТ-У
Сообщений: 27601
Timass
Belavik, а то я дебил и не понимаю, что надо его нормально написать.

Лучше бы подсказали что я именно мог пропустить.

Так как я только этим начал заниматься и еще не все знаю.

Задайте вопрос на ПТ, там много гуру, которые помогут не видя код.
1 июн 15, 11:38    [17714537]     Ответить | Цитировать Сообщить модератору
 Re: Создание приложение в C# для бд (ms sql)  [new]
Belavik
Member

Откуда: ПТ-У
Сообщений: 27601
SQL2008
Ошибка в 17-й строке.

У меня вообще беда. Где-то закралась ошибка, а на 17-й строке - комментарий (
1 июн 15, 11:40    [17714545]     Ответить | Цитировать Сообщить модератору
 Re: Создание приложение в C# для бд (ms sql)  [new]
Timass
Member

Откуда:
Сообщений: 26
Belavik, Можете скинуть свою почту?

Я вам скину туда проект и вы посмотрите, так как сюда архив не влезает.
1 июн 15, 11:49    [17714599]     Ответить | Цитировать Сообщить модератору
 Re: Создание приложение в C# для бд (ms sql)  [new]
Axeleron
Member

Откуда: London
Сообщений: 7531
Timass
Я вам скину туда проект и вы посмотрите, так как сюда архив не влезает.

Да... И не такое бывает напишут, когда диплом горит. Чем ближе лето, тем все горячее на форуме становится, все срочнее.
1 июн 15, 12:11    [17714729]     Ответить | Цитировать Сообщить модератору
 Re: Создание приложение в C# для бд (ms sql)  [new]
Timass
Member

Откуда:
Сообщений: 26
Axeleron, Ну так то диплом у меня связан с реализацией моста rs232/spi на базе плис Альтера.

И там у меня все нормально.

А это для саморазвития.
1 июн 15, 12:18    [17714777]     Ответить | Цитировать Сообщить модератору
 Re: Создание приложение в C# для бд (ms sql)  [new]
Axeleron
Member

Откуда: London
Сообщений: 7531
Timass
А это для саморазвития.

Ну так если для САМОразвития, то и надо бы САМОМУ развивать.
1 июн 15, 12:21    [17714794]     Ответить | Цитировать Сообщить модератору
 Re: Создание приложение в C# для бд (ms sql)  [new]
Timass
Member

Откуда:
Сообщений: 26
Axeleron, какой день пытаюсь САМОразвиться,
не получается, вот решил у умных людей спросить.
Чтобы на месте не стоять.
1 июн 15, 12:22    [17714803]     Ответить | Цитировать Сообщить модератору
 Re: Создание приложение в C# для бд (ms sql)  [new]
Belavik
Member

Откуда: ПТ-У
Сообщений: 27601
Timass
Axeleron, какой день пытаюсь САМОразвиться,
не получается, вот решил у умных людей спросить.
Чтобы на месте не стоять.

Вы явно не ту ветку форума выбрали.
1 июн 15, 12:50    [17714930]     Ответить | Цитировать Сообщить модератору
 Re: Создание приложение в C# для бд (ms sql)  [new]
SQL2008
Member

Откуда: Москва
Сообщений: 4256
Timass, тогда дайте больше информации по вашему проекту.
Для начала приведите текст триггера, который не срабатывает и кусок кода, добавляющий данные.
1 июн 15, 12:50    [17714931]     Ответить | Цитировать Сообщить модератору
 Re: Создание приложение в C# для бд (ms sql)  [new]
Timass
Member

Откуда:
Сообщений: 26
SQL2008,
Триггер:

USE [C:\PROGRAM FILES\MICROSOFT SQL SERVER\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\СКЛАД_1.0.MDF]
GO
/****** Object: Trigger [dbo].[PRIHOD] Script Date: 06/01/2015 02:41:51 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER TRIGGER [dbo].[PRIHOD]
ON [dbo].[Приход] FOR INSERT
AS
IF @@ROWCOUNT=1
BEGIN
DECLARE @x INT
DECLARE @y INT
DECLARE @z INT
DECLARE @m money
SELECT @x=(select Партия from inserted)
SELECT @y=(select Материал from inserted)
SELECT @z=(select Количество from inserted)
SELECT @m=(select Цена from inserted)
INSERT INTO Склад VALUES
(@x,@y,@z,@m)
END

Кусок коды из Form1:
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;

namespace Sklad
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void bindingNavigatorMovePreviousItem1_Click(object sender, EventArgs e)
{

}

private void bindingNavigatorMoveFirstItem1_Click(object sender, EventArgs e)
{

}

private void Form1_Load(object sender, EventArgs e)
{
// TODO: This line of code loads data into the '_Склад_1_0DataSet.my_proc1' table. You can move, or remove it, as needed.
this.my_proc1TableAdapter.Fill(this._Склад_1_0DataSet.my_proc1);
// TODO: This line of code loads data into the '_Склад_1_0DataSet.Материал' table. You can move, or remove it, as needed.
this.материалTableAdapter.Fill(this._Склад_1_0DataSet.Материал);
// TODO: This line of code loads data into the '_Склад_1_0DataSet.Расход' table. You can move, or remove it, as needed.
this.расходTableAdapter.Fill(this._Склад_1_0DataSet.Расход);
// TODO: This line of code loads data into the '_Склад_1_0DataSet.Приход' table. You can move, or remove it, as needed.
this.приходTableAdapter.Fill(this._Склад_1_0DataSet.Приход);
// TODO: This line of code loads data into the '_Склад_1_0DataSet.Склад' table. You can move, or remove it, as needed.
this.складTableAdapter.Fill(this._Склад_1_0DataSet.Склад);

}

private void button1_Click(object sender, EventArgs e)
{
this.расходTableAdapter.Adapter.Update(this._Склад_1_0DataSet);
this.материалTableAdapter.Adapter.Update(this._Склад_1_0DataSet);
this.складTableAdapter.Adapter.Update(this._Склад_1_0DataSet);
this.приходTableAdapter.Adapter.Update(this._Склад_1_0DataSet);
this.my_proc1TableAdapter.Adapter.Update(this._Склад_1_0DataSet);

}

private void BtnClose_Click(object sender, EventArgs e)
{
this.Close();
}

private void bindingNavigator4_RefreshItems(object sender, EventArgs e)
{

}

private void bindingNavigator3_RefreshItems(object sender, EventArgs e)
{

}

private void bindingNavigator2_RefreshItems(object sender, EventArgs e)
{

}

private void dataGridView5_CellContentClick(object sender, DataGridViewCellEventArgs e)
{

}

private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{

}
}
}
1 июн 15, 13:07    [17715024]     Ответить | Цитировать Сообщить модератору
 Re: Создание приложение в C# для бд (ms sql)  [new]
Belavik
Member

Откуда: ПТ-У
Сообщений: 27601
Timass
SQL2008,
+

Триггер:

USE [C:\PROGRAM FILES\MICROSOFT SQL SERVER\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\СКЛАД_1.0.MDF]
GO
/****** Object: Trigger [dbo].[PRIHOD] Script Date: 06/01/2015 02:41:51 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER TRIGGER [dbo].[PRIHOD]
ON [dbo].[Приход] FOR INSERT
AS
IF @@ROWCOUNT=1
BEGIN
DECLARE @x INT
DECLARE @y INT
DECLARE @z INT
DECLARE @m money
SELECT @x=(select Партия from inserted)
SELECT @y=(select Материал from inserted)
SELECT @z=(select Количество from inserted)
SELECT @m=(select Цена from inserted)
INSERT INTO Склад VALUES
(@x,@y,@z,@m)
END

Кусок коды из Form1:
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;

namespace Sklad
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void bindingNavigatorMovePreviousItem1_Click(object sender, EventArgs e)
{

}

private void bindingNavigatorMoveFirstItem1_Click(object sender, EventArgs e)
{

}

private void Form1_Load(object sender, EventArgs e)
{
// TODO: This line of code loads data into the '_Склад_1_0DataSet.my_proc1' table. You can move, or remove it, as needed.
this.my_proc1TableAdapter.Fill(this._Склад_1_0DataSet.my_proc1);
// TODO: This line of code loads data into the '_Склад_1_0DataSet.Материал' table. You can move, or remove it, as needed.
this.материалTableAdapter.Fill(this._Склад_1_0DataSet.Материал);
// TODO: This line of code loads data into the '_Склад_1_0DataSet.Расход' table. You can move, or remove it, as needed.
this.расходTableAdapter.Fill(this._Склад_1_0DataSet.Расход);
// TODO: This line of code loads data into the '_Склад_1_0DataSet.Приход' table. You can move, or remove it, as needed.
this.приходTableAdapter.Fill(this._Склад_1_0DataSet.Приход);
// TODO: This line of code loads data into the '_Склад_1_0DataSet.Склад' table. You can move, or remove it, as needed.
this.складTableAdapter.Fill(this._Склад_1_0DataSet.Склад);

}

private void button1_Click(object sender, EventArgs e)
{
this.расходTableAdapter.Adapter.Update(this._Склад_1_0DataSet);
this.материалTableAdapter.Adapter.Update(this._Склад_1_0DataSet);
this.складTableAdapter.Adapter.Update(this._Склад_1_0DataSet);
this.приходTableAdapter.Adapter.Update(this._Склад_1_0DataSet);
this.my_proc1TableAdapter.Adapter.Update(this._Склад_1_0DataSet);

}

private void BtnClose_Click(object sender, EventArgs e)
{
this.Close();
}

private void bindingNavigator4_RefreshItems(object sender, EventArgs e)
{

}

private void bindingNavigator3_RefreshItems(object sender, EventArgs e)
{

}

private void bindingNavigator2_RefreshItems(object sender, EventArgs e)
{

}

private void dataGridView5_CellContentClick(object sender, DataGridViewCellEventArgs e)
{

}

private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{

}
}
}


Это все при упаковке весит более 150 килобайт?
Как-то в обработчиках событий у Вас...пустовато.
И наименования полей и таблиц на русском....эх
1 июн 15, 13:11    [17715048]     Ответить | Цитировать Сообщить модератору
 Re: Создание приложение в C# для бд (ms sql)  [new]
Timass
Member

Откуда:
Сообщений: 26
Belavik,

Ну так то бд еще в проекте.

Я нашел видео

Делал по нему, но так то понимаю что этого мало.
1 июн 15, 13:14    [17715062]     Ответить | Цитировать Сообщить модератору
 Re: Создание приложение в C# для бд (ms sql)  [new]
Belavik
Member

Откуда: ПТ-У
Сообщений: 27601
Ваши триггеры то рабочие? Проверяли?
1 июн 15, 13:15    [17715069]     Ответить | Цитировать Сообщить модератору
 Re: Создание приложение в C# для бд (ms sql)  [new]
SQL2008
Member

Откуда: Москва
Сообщений: 4256
А это зачем?
IF @@ROWCOUNT=1
1 июн 15, 13:16    [17715071]     Ответить | Цитировать Сообщить модератору
 Re: Создание приложение в C# для бд (ms sql)  [new]
Timass
Member

Откуда:
Сообщений: 26
Belavik,
Да рабочие.
1 июн 15, 13:21    [17715096]     Ответить | Цитировать Сообщить модератору
 Re: Создание приложение в C# для бд (ms sql)  [new]
Timass
Member

Откуда:
Сообщений: 26
SQL2008,

Делал это впервые, на каком то сайте находил пример триггера, взял за основу его, там было сказано про это что эта вещь скажем так отвечает что если 1, то были внесены изменения, то делаем.
1 июн 15, 13:23    [17715104]     Ответить | Цитировать Сообщить модератору
 Re: Создание приложение в C# для бд (ms sql)  [new]
Belavik
Member

Откуда: ПТ-У
Сообщений: 27601
Timass
SQL2008,

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

Погуглю за Вас.
Возвращает число строк, затронутых при выполнении последней инструкции.
1 июн 15, 13:25    [17715118]     Ответить | Цитировать Сообщить модератору
 Re: Создание приложение в C# для бд (ms sql)  [new]
petalvik
Member

Откуда:
Сообщений: 704
Timass,

а теперь покажи строку соединения, используемую в проекте C#.
Вангую, что используется локальная БД, размещённая в папке проекта.
1 июн 15, 14:12    [17715437]     Ответить | Цитировать Сообщить модератору
 Re: Создание приложение в C# для бд (ms sql)  [new]
Volochkova
Member

Откуда:
Сообщений: 2321
Адаптер почему то на апдейт, а тригер на инсерт.
Зачем делать 3 раза select from inserted?
1 июн 15, 16:07    [17716167]     Ответить | Цитировать Сообщить модератору
 Re: Создание приложение в C# для бд (ms sql)  [new]
WorkAcc
Member

Откуда:
Сообщений: 58
Volochkova,

А когда-нибудь ТС узнает, что в inserted может быть больше одной строчки :)
1 июн 15, 16:29    [17716310]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить