Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Проблема с параметром в DataAdapter / 9 сообщений из 9, страница 1 из 1
26.07.2011, 16:56
    #37367774
Samir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с параметром в DataAdapter
VS 2008. Создаю DataSet. Создаю DataTable с селектом. Добавляю Query.

Select * From myTable Where myField in (@param)

@param = "1,2,3,4,5"

Как объявить этот параметр и затискать туда строку?
...
Рейтинг: 0 / 0
26.07.2011, 17:08
    #37367820
stimpi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с параметром в DataAdapter
SqlCommand.Parameters.Add(....)
...
Рейтинг: 0 / 0
26.07.2011, 17:30
    #37367873
Samir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с параметром в DataAdapter
stimpiSqlCommand.Parameters.Add(....)

И что это даст? Оно автоматически создается. Как передать туда то, что я хочу?
...
Рейтинг: 0 / 0
26.07.2011, 18:03
    #37367930
stimpi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с параметром в DataAdapter
msdn
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
public void AddSqlParameters() 
{
// ...
// create categoriesDataSet and categoriesAdapter
// ...

  categoriesAdapter.SelectCommand.Parameters.Add(
    "@CategoryName", SqlDbType.VarChar, 80).Value = "toasters";
  categoriesAdapter.SelectCommand.Parameters.Add(
    "@SerialNum", SqlDbType.Int).Value = 239;
  categoriesAdapter.Fill(categoriesDataSet);

}


SqlParameter BOL
...
Рейтинг: 0 / 0
26.07.2011, 18:04
    #37367935
няка
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с параметром в DataAdapter
Samir,

а при чем тут дата адаптер?
вы сначала сукель заставьте также отработать, потом адаптеру притензии предьявляйте

курить
...
Рейтинг: 0 / 0
26.07.2011, 18:17
    #37367953
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с параметром в DataAdapter
SamirSelect * From myTable Where myField in (@param)

@param = "1,2,3,4,5"
И пойдет на сервер строка

Код: plaintext
Select * From myTable Where myField in '1,2,3,4,5'
...
Рейтинг: 0 / 0
26.07.2011, 18:31
    #37367971
stimpi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с параметром в DataAdapter
скуль 2008

Код: plaintext
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.
using (var con = new SqlConnection("Server=.;Database=;Integrated Security=true"))
          {
              con.Open();

              using (var createType = new SqlCommand("CREATE TYPE MyIds AS TABLE (Id int)"))
              {
                  createType.Connection = con;
                  createType.ExecuteNonQuery();
              }
              using (var com = new SqlCommand("SELECT Id, FirstName FROM People WHERE Id IN (SELECT Id FROM @param)"))
              {
                  com.Connection = con;

                  var dt = new DataTable("Ids");
                  dt.Columns.Add("Id", typeof (int));
                  dt.Rows.Add(1);
                  dt.Rows.Add(2);
                  dt.Rows.Add(3);
                  dt.Rows.Add(4);
                  dt.Rows.Add(5);

                  com.Parameters.AddWithValue("@param", dt);
                  com.Parameters["@param"].TypeName = "MyIds";

                  using (var reader = com.ExecuteReader())
                  {
                      while (reader.Read())
                          Console.WriteLine("{0} {1}", reader["Id"], reader["FirstName"]);
                  }
              }

              using (var createType = new SqlCommand("DROP TYPE MyIds"))
              {
                  createType.Connection = con;
                  createType.ExecuteNonQuery();
              }
          }
...
Рейтинг: 0 / 0
27.07.2011, 11:43
    #37368598
Samir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с параметром в DataAdapter
пользуюсь SQL 2000

еще раз, в результате нужен из

select * from mytable where myfield in (@param)

при @param = "1,2,3,4,5"

получить

select * from mytable where myfield in (1,2,3,4,5)

вопрос все еще открыт

единственный способ, который нашел, это самому ручками создать SqlDataAdapter и
Код: plaintext
1.
2.
param = "1,2,3,4,5";
SelectCommandText = "select * from mytable where myfield in (" + param + ")";
...
Рейтинг: 0 / 0
27.07.2011, 18:09
    #37369518
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с параметром в DataAdapter
Samirвопрос все еще открыт

Вам же уже написали, что конкретно надо "курить"
някаSamir,

а при чем тут дата адаптер?
вы сначала сукель заставьте также отработать, потом адаптеру притензии предьявляйте

курить
...
Рейтинг: 0 / 0
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Проблема с параметром в DataAdapter / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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