powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / помогите, пожалуйста, с параметризованным запросом
3 сообщений из 3, страница 1 из 1
помогите, пожалуйста, с параметризованным запросом
    #37716273
jarrhead
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
есть таблица со столбцами ID, datetime, road. в ней есть события только за ФЕВРАЛЬ. в SharePoint 2007 есть вебчасть, на которой есть поле ввода даты, поле ввода ID и кнопка посыла запроса. на кнопке висит такая обработка
Код: 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.
            DataSet dataSet = null;
            string sql = string.Format("SELECT * FROM KPP WHERE id = @ID AND date >= @startdate and date <= @enddate");
            SqlConnection conn = new SqlConnection("Data Source = localhost; Initial Catalog = portal; Integrated Security = SSPI");
            conn.Open();
            using (SqlCommand cmd = new SqlCommand(sql, conn))
            {
                SqlParameter param = new SqlParameter();
                param.ParameterName = "@ID";
                param.SqlDbType = SqlDbType.VarChar;
                param.Value = txtID.Text;
                param.Size = 40;
                cmd.Parameters.Add(param);

                param = new SqlParameter();
                param.ParameterName = "@startdate";
                param.Value = Convert.ToDateTime(startdatetimepicker.SelectedDate.Date);
                param.SqlDbType = SqlDbType.DateTime;
                cmd.Parameters.Add(param);

                param = new SqlParameter();
                param.ParameterName = "@enddate";
                param.Value = Convert.ToDateTime(enddatetimepicker.SelectedDate.Date);
                param.SqlDbType = SqlDbType.DateTime;
                cmd.Parameters.Add(param);


            }



при нажатии на кнопку выскакивает ошибка "Необходимо объявить скалярную переменную "@ID".The IListSource does not contain any data sources."
помогите пожалуйста найти ошибку
...
Рейтинг: 0 / 0
помогите, пожалуйста, с параметризованным запросом
    #37717342
jarrhead
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
продолжение кода. ошибка именно в нем.
Код: 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.
                try
                {
[color=red]                    conn.Open();
                    SqlDataAdapter adapter = new SqlDataAdapter(sql, conn);
                    dataSet = new DataSet("root");
                    adapter.Fill(dataSet, "KPP");[/color]
                }
                catch (SqlException x)
                {
                    messages.Text += x.Message;
                }
                catch (Exception x)
                {
                    messages.Text += x.Message;
                }


                //Bind Data
                try
                {
[color=red]                    grid.DataSource = dataSet;
                    grid.DataMember = "KPP";
                    grid.DataBind();[/color]
                }
                catch (Exception x)
                {
                    messages.Text += x.Message;
                }
            }



на 1-м выделенном куске требует объявить скалярную переменную, на 2-м куске похоже не может заполнить DataSet, а вот почему, понять не могу.

если запрос делать не параметризованный, то все работает.

помогите, плиз, найти ошибку.
...
Рейтинг: 0 / 0
помогите, пожалуйста, с параметризованным запросом
    #37718283
jarrhead
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вопрос снят, решение найдено
Код: 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.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
        protected void Search_Click(object sender, EventArgs e)
        {
            DataSet dataSet = null;
            SqlConnection conn = new SqlConnection("Data Source = localhost; Initial Catalog = portal; Integrated Security = SSPI");
            using (SqlCommand cmd = new SqlCommand("Procedure(@ID, @Date, @Road)", conn))
            {
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.CommandText = "Procedure";
                cmd.Connection = conn;
                conn.Open();
                SqlParameter param = new SqlParameter();
                param.ParameterName = "@ID";
                param.SqlDbType = SqlDbType.Char;
                param.Value = txtID.Text;
                param.Size = 40;
                param.Direction = ParameterDirection.Input;
                cmd.Parameters.Add(param);

                param = new SqlParameter();
                param.ParameterName = "@startdate";
                param.Value = Convert.ToDateTime(startdatetimepicker.SelectedDate.Date);
                param.SqlDbType = SqlDbType.DateTime;
                param.Direction = ParameterDirection.Input;
                cmd.Parameters.Add(param);

                param = new SqlParameter();
                param.ParameterName = "@enddate";
                param.Value = Convert.ToDateTime(enddatetimepicker.SelectedDate.Date);
                param.SqlDbType = SqlDbType.DateTime;
                param.Direction = ParameterDirection.Input;
                cmd.Parameters.Add(param);

                try
                {
                    SqlDataAdapter adapter = new SqlDataAdapter();
                    adapter.SelectCommand = cmd;
                    dataSet = new DataSet("root");
                    adapter.Fill(dataSet, "KPP");
                }
                catch (SqlException x)
                {
                    messages.Text += x.Message;
                }
                catch (Exception x)
                {
                    messages.Text += x.Message;
                }

                //Bind Data
                try
                {
                    grid.DataSource = dataSet;
                    grid.DataMember = "KPP";
                    grid.DataBind();
                }
                catch (Exception x)
                {
                    messages.Text += x.Message;
                }
                conn.Close();
            }
        }
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / помогите, пожалуйста, с параметризованным запросом
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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