powered by simpleCommunicator - 2.0.54     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Подключение к хранимке с параметром
37 сообщений из 37, показаны все 2 страниц
Подключение к хранимке с параметром
    #38923087
2viper2viper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите новичку, как указать параметр
Имеется хранимая процедура, в которой параметром указана дата
Хочу создать програмку, в которой поместить грид и календарь, при выборе даты на котором автоматически обращалась к хранимке с параметром

Код: 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.
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.Data.SqlClient;
 
namespace WindowsFormsApplication3
{
    public partial class Form1 : Form
    {
        public String date;
        public Form1()
        {
            InitializeComponent();
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {    
 
        }
  
        private void monthCalendar1_DateChanged(object sender, DateRangeEventArgs e)
        {
             date = monthCalendar1.SelectionStart.ToShortDateString();
        }
 
        private void statusStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
        {
 
        }

...
Рейтинг: 0 / 0
Подключение к хранимке с параметром
    #38923092
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2viper2viper,
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
    // Create the connection.
    using (SqlConnection connection = new SqlConnection(@"Data Source=..."))
    {
        connection.Open();
        using (SqlCommand command = new SqlCommand("spNameWhatever", connection))
        {
            command.CommandType = System.Data.CommandType.StoredProcedure;
            SqlParameter parameter = command.Parameters.Add("@SelectedDate", System.Data.SqlDbType.DateTime);
            parameter.Value = date;
            command.ExecuteNonQuery();
        }
    }
...
Рейтинг: 0 / 0
Подключение к хранимке с параметром
    #38923123
2viper2viper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо)
Попытался адаптировать, но возникает ошибка
"Процедура или функция "Проверка_Должников" ожидает параметр "@date", который не был указан."

Код: 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.
namespace WindowsFormsApplication3
{
    public partial class Form1 : Form
    {
        String connect = @"Data Source=AKRAVCHENKONB\saoreport;Initial Catalog=SAO1CDATA;Integrated Security=True";
        DateTime date;
        public Form1()
        {
            InitializeComponent();
        }


        private void Form1_Load(object sender, EventArgs e)
        {

        }

        private void monthCalendar1_DateChanged(object sender, DateRangeEventArgs e)
        {
            date = Convert.ToDateTime(monthCalendar1.SelectionStart.ToString());
           
            SqlConnection sqlCon = new SqlConnection(connect);
            sqlCon.Open();
            SqlCommand sqlCom = new SqlCommand("Проверка_Должников", sqlCon);
            SqlParameter par = sqlCom.Parameters.AddWithValue("@date", date);
            par.Value = date;
            sqlCom.ExecuteNonQuery();
            SqlDataAdapter sqlDA;
            sqlDA = new SqlDataAdapter(sqlCom);
            sqlCom.CommandType = CommandType.StoredProcedure;
          
            sqlCon.Close();

        }

        private void statusStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
        {

        }

    }
  }
   



прошу не ругать.. может где натупил
...
Рейтинг: 0 / 0
Подключение к хранимке с параметром
    #38923140
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2viper2viper,
Вы проигнорировали мой пример вверху, более ничем не могу вам помочь.
...
Рейтинг: 0 / 0
Подключение к хранимке с параметром
    #38923143
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2viper2viper,
вроде не надо указать @
Код: c#
1.
SqlParameter par = sqlCom.Parameters.AddWithValue("date", date);


но я не уверен.
...
Рейтинг: 0 / 0
Подключение к хранимке с параметром
    #38923145
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Axeleron2viper2viper,
Вы проигнорировали мой пример вверху, более ничем не могу вам помочь.
видно же, что человек не очень бум бум ) зачем так критично )
...
Рейтинг: 0 / 0
Подключение к хранимке с параметром
    #38923147
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman MejtesAxeleron2viper2viper,
Вы проигнорировали мой пример вверху, более ничем не могу вам помочь.
видно же, что человек не очень бум бум ) зачем так критично )
Ну да, виноват. Я с мобильного по дороге домой - очень неудобно, хотя я вижу где проблема
...
Рейтинг: 0 / 0
Подключение к хранимке с параметром
    #38923149
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CommandType должен быть установлен в StoredProc ДО ExecuteNonQuery
...
Рейтинг: 0 / 0
Подключение к хранимке с параметром
    #38923159
2viper2viper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Извините..
почемуто сначала появлялись ошибки после добавления этого кода. пытался чтото исправит..
сейчас норм
а как подвязать результат к грид?
по выбору даты вижу в sql что обращение было, но как вывести в таблицу результат
...
Рейтинг: 0 / 0
Подключение к хранимке с параметром
    #38923161
2viper2viper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Roman Mejtes2viper2viper,
вроде не надо указать @
Код: c#
1.
SqlParameter par = sqlCom.Parameters.AddWithValue("date", date);


но я не уверен.

не, это не помогло..
...
Рейтинг: 0 / 0
Подключение к хранимке с параметром
    #38923166
2viper2viper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AxeleronCommandType должен быть установлен в StoredProc ДО ExecuteNonQuery

на этом желание попробовать себя в сишке умерло))
а реально, command.ExecuteNonQuery(); ведь указана после command.CommandType = System.Data.CommandType.StoredProcedure;
Если что не так понял - не ругайте. Больше доставать форум не знанием не буду (но доделать эту прогу хочу ради принципа)

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
 private void monthCalendar1_DateChanged(object sender, DateRangeEventArgs e)
        {
            date = Convert.ToDateTime(monthCalendar1.SelectionStart.ToString());

            using (SqlConnection connection = new SqlConnection(@"Data S"))
            {
                connection.Open();
                using (SqlCommand command = new SqlCommand("Проверка_Должников", connection))
                {
                    command.CommandType = System.Data.CommandType.StoredProcedure;
                    SqlParameter parameter = command.Parameters.AddWithValue("@date", System.Data.SqlDbType.DateTime); 
                    parameter.Value = date; 
                    command.ExecuteNonQuery();
                }
            }

...
Рейтинг: 0 / 0
Подключение к хранимке с параметром
    #38923175
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2viper2viper,
Я так до конца и не понял - процедура срабатывает?
...
Рейтинг: 0 / 0
Подключение к хранимке с параметром
    #38923179
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2viper2viper,
Для получения результата нужно заменить ExecuteNonQuery на ExecuteSqlReader, если не ошибаюсь.
...
Рейтинг: 0 / 0
Подключение к хранимке с параметром
    #38923182
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Типизированный датасет... Лет 7 уже не видел этого зверька
...
Рейтинг: 0 / 0
Подключение к хранимке с параметром
    #38923185
2viper2viper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Axeleron,

да, sql ее выполняет.
а как данные получить на грид? ExecuteSqlReader не помогло
...
Рейтинг: 0 / 0
Подключение к хранимке с параметром
    #38923186
2viper2viper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
не думал что это такая проблема
ексель справляется с таким в полуавтоматическом режиме..
...
Рейтинг: 0 / 0
Подключение к хранимке с параметром
    #38923193
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2viper2viperне думал что это такая проблема
ексель справляется с таким в полуавтоматическом режиме..забавно, а t-SQL? :)
...
Рейтинг: 0 / 0
Подключение к хранимке с параметром
    #38923195
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

автор стоит заняться новой СУБД excelSql, это будет прорыв
...
Рейтинг: 0 / 0
Подключение к хранимке с параметром
    #38923197
2viper2viper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
нескольлко лет работаю в такой связке. решил попробовать на с чтото простое.
но остановился на самом начале)
...
Рейтинг: 0 / 0
Подключение к хранимке с параметром
    #38923198
2viper2viper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
skyANA2viper2viperне думал что это такая проблема
ексель справляется с таким в полуавтоматическом режиме..забавно, а t-SQL? :)

на нем и создается)) или не понял вопрос
...
Рейтинг: 0 / 0
Подключение к хранимке с параметром
    #38923200
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2viper2viperskyANAпропущено...
забавно, а t-SQL? :)

на нем и создается)) или не понял вопросчто создается? :)
...
Рейтинг: 0 / 0
Подключение к хранимке с параметром
    #38923201
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2viper2viperнескольлко лет работаю в такой связке. решил попробовать на с чтото простое.
но остановился на самом начале)
Предлагаю выкинуть датасеты на помойку, взять EF и радоваться щастью :)
...
Рейтинг: 0 / 0
Подключение к хранимке с параметром
    #38923202
2viper2viper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
skyANA,

а что "забавно"?))
...
Рейтинг: 0 / 0
Подключение к хранимке с параметром
    #38923203
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2viper2viper, покажите программку из первого поста на t-sql
...
Рейтинг: 0 / 0
Подключение к хранимке с параметром
    #38923204
2viper2viper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
skyANA,

excel query
...
Рейтинг: 0 / 0
Подключение к хранимке с параметром
    #38923205
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2viper2viperskyANA,

excel queryВы уже забыли, что писали в первом посте?
Покажите прграммку с гридом и календарем на t-SQL...
...
Рейтинг: 0 / 0
Подключение к хранимке с параметром
    #38923206
2viper2viper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
skyANA,

ок. а Вы поможите с с?
...
Рейтинг: 0 / 0
Подключение к хранимке с параметром
    #38923207
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2viper2viper,

ну если не шутишь, то стоит Adapter.Fill(чего нить) надо делать
а NonQuery не нужно (тест уже прошел :)
...
Рейтинг: 0 / 0
Подключение к хранимке с параметром
    #38923208
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2viper2viperskyANA,

ок. а Вы поможите с с?с C#... помогу
...
Рейтинг: 0 / 0
Подключение к хранимке с параметром
    #38923211
2viper2viper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
через команды в подключении, но здесь параметры нужно вписывать вручную, поэтому и "ексель справляется с таким в полуавтоматическом режиме.."
не думал что эта фраза вызовет возмущения)
просто если кто может дельно помочь - буду благодарен, а нет, то так и будет
...
Рейтинг: 0 / 0
Подключение к хранимке с параметром
    #38923223
2viper2viper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
еще и так можно. немного удобней

может кому пригодится
...
Рейтинг: 0 / 0
Подключение к хранимке с параметром
    #38923231
2viper2viper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
этот лучше будет. добавлена ссылка на ячейку (всплыл плюс такого подходы. если в ячейке напр СЕГОДНЯ()-1, и дату выбирать не нужно)

А по поводу аналогичного варианта на C#, сможет кто помочь..
...
Рейтинг: 0 / 0
Подключение к хранимке с параметром
    #38923423
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2viper2viper, я просил программку на T-SQL, а не VBA макрос в Excel сгенерировать :) Который к тому же кривой и удаляется при открытие документа.

Что касается Вашего кода, то:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
private void monthCalendar1_DateChanged(object sender, DateRangeEventArgs e)
{
     var date = Convert.ToDateTime(monthCalendar1.SelectionStart.ToString());
     var table = new System.Data.DataTable();

     using (var connection = new SqlConnection(@"Data S"))
     {
          using (var command = new SqlCommand("Проверка_Должников", connection))
          {
               command.CommandType = System.Data.CommandType.StoredProcedure;
               command.Parameters.Add("@date", System.Data.SqlDbType.DateTime).Value = date;

               using (var adapter = new SqlDataAdapter(command))
               {
                    adapter.Fill(table);
               }
          }
     }


Далее привязываете table в качестве источника данных к своему гриду.

How to: Bind Data to the Windows Forms DataGridView Control
...
Рейтинг: 0 / 0
Подключение к хранимке с параметром
    #38923554
2viper2viper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
skyANA,

Спасибо за код)
с макросом у меня проблем нет. Если бы он удалялся при открытии (не понял как такое возможно..), как им можно было бы пользоваться..? может проблема с настройками безопасности.
Я имел ввиду что используя t-sql можно совершать аналогичные выгрузки и в екселе (query, или вписывая параметры в свойства подключения для хранимки, или при помощи макроса)

В любом случае спасибо за помощь.
...
Рейтинг: 0 / 0
Подключение к хранимке с параметром
    #38923855
2viper2viper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Задача решена таким способом
Всем спасибо за участие

Код: 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.
49.
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.Data.SqlClient;

namespace WindowsFormsApplication7
{
    public partial class Form1 : Form
    {
        DateTime date1;
        public Form1()
        {
            InitializeComponent();
        }

        private void monthCalendar1_DateChanged(object sender, DateRangeEventArgs e)
        {
            date1 = Convert.ToDateTime(monthCalendar1.SelectionStart.ToString());
            label1.Text = Convert.ToString(date1);
            string constring = @"Data Source=";
            SqlConnection sqlconn = new SqlConnection(constring);
            SqlCommand sqlcomm = new SqlCommand("Проверка_Должников", sqlconn);
            sqlcomm.CommandType = System.Data.CommandType.StoredProcedure;
            sqlcomm.Parameters.Add("@date", System.Data.SqlDbType.DateTime).Value = date1;
            try
            {
                SqlDataAdapter sqladap = new SqlDataAdapter(sqlcomm);
                DataTable dtable = new DataTable();
                sqladap.Fill(dtable);
                BindingSource bso = new BindingSource();
                bso.DataSource = dtable;
                dataGridView1.DataSource = bso;
                sqladap.Update(dtable);
            }
            catch (Exception ex) { }
        }

        private void label1_Click(object sender, EventArgs e)
        {
           
        }
        
    }
}

...
Рейтинг: 0 / 0
Подключение к хранимке с параметром
    #38924172
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2viper2viper,

открой уже учебник и прочитай, что значит инструкция using и почему мы ей пользуемся, а ты нет. Сколько можно.
У вас задача сговнокодить или учиться?
...
Рейтинг: 0 / 0
Подключение к хранимке с параметром
    #38924771
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
2viper2viper
Код: c#
1.
2.
3.
SqlDataAdapter sqladap = new SqlDataAdapter(sqlcomm);
                DataTable dtable = new DataTable();
                sqladap.Fill(dtable);



Можно без SqlDataAdapter

Код: c#
1.
2.
3.
4.
DataTable dtable = new DataTable();
sqlcomm.Connection.Open();
dtable.Load(sqlcomm.ExecuteReader());
sqlcomm.Connection.Close();
...
Рейтинг: 0 / 0
37 сообщений из 37, показаны все 2 страниц
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Подключение к хранимке с параметром
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]