Программно извлекайте типы данных для столбцов таблицы MS SQL для последующей вставки - PullRequest
1 голос
/ 07 ноября 2008

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

Я пытаюсь создать что-то подобное в C # .NET, потому что у нас большие таблицы, которые постоянно меняются. Я буду добавлять параметры так:

SqlParameter param = new SqlParameter("parametername", *SqlDbType.Int*);
param.Direction = ParameterDirection.Input;
param.Value = 0;
comm.Parameters.Add(param);

Обратите внимание на SqlDbType. Как я могу получить это? Если я получу DataColumns из DataSet, все, что я могу получить, это системные типы, такие как System.string.

Ответы [ 2 ]

2 голосов
/ 07 ноября 2008

почему бы просто не позволить ADO.NET определить его автоматически:

SqlParameter param = new SqlParameter("parametername", value);

'Конечно, вам и на самом деле направление не нужно:

comm.Parameters.Add(new SqlParameter("parametername",value));

Я фанат делать вещи в одну строку:)

1 голос
/ 07 ноября 2008

Для нашего проекта мы запрашиваем таблицы INFORMATION_SCHEMA перед построением наших операторов SQL. Если вы введете значение в DATA_TYPE из INFORMATION_SCHEMA.COLUMNS в Enum.Parse, это должно дать вам правильное значение.

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