Spec-Zone .ru
спецификации, руководства, описания, API
|
A MySqlCommand
имеет CommandText
и CommandType
свойства связались с этим. CommandText
будет
обработан по-другому в зависимости от установки CommandType
. CommandType
может быть один из:
Текст - команда кода на SQL (значение по умолчанию)
StoredProcedure - имя Хранимой процедуры
TableDirect - имя таблицы (новый в Соединителе/Сети 6.2)
Значение по умолчанию CommandType
, Text
, используется
для того, чтобы выполнить запросы и другие команды SQL. Некоторый пример этого может быть найден в Разделе следующего раздела 21.2.4.1.2,
"Объект MySqlCommand".
Если CommandType
устанавливается в StoredProcedure
,
набор CommandText
к имени Хранимой процедуры к доступу.
Если CommandType
устанавливается в TableDirect
, все
строки и столбцы именованной таблицы будут возвращены, когда Вы вызовете один из методов Execute. В
действительности эта команда выполняет a SELECT *
на определенной таблице. CommandText
свойство устанавливается в имя таблицы запросить. Это иллюстрируется
следующим фрагментом кода:
...MySqlCommand cmd = new MySqlCommand();cmd.CommandText = "mytable";cmd.Connection = someConnection;cmd.CommandType = CommandType.TableDirect;MySqlDataReader reader = cmd.ExecuteReader();while (reader.Read()){ Console.WriteLn(reader[0], reader[1]...);}...
Примеры использования CommandType StoredProcedure могут быть найдены в Разделе раздела 21.2.5.9, "Получая доступ к Хранимым процедурам с Соединителем/Сетью".
Командам можно было связать тайм-аут с ними. Это полезно, поскольку Вы не можете хотеть ситуацию, была команда,
приводит чрезмерное количество времени в рабочее состояние. Тайм-аут может быть установлен, используя CommandTimeout
свойство. Следующий фрагмент кода устанавливает тайм-аут одной
минуты:
MySqlCommand cmd = new MySqlCommand();cmd.CommandTimeout = 60;
Значение по умолчанию составляет 30 секунд. Избегите значения 0, который указывает, что неопределенное ожидает.
Чтобы изменить тайм-аут команды значения по умолчанию, используйте опцию строки подключения Default Command Timeout
.
До MySQL, Connector/Net 6.2, MySqlCommand.CommandTimeout
включенное
пользовательское время обработки, которое является временем обработки, не связанным с прямым использованием
соединителя. Тайм-аут был реализован через Таймер.NET, который инициировал после CommandTimeout
секунды. Этот таймер, использованный поток.
6.2 представленных тайм-аутов MySQL Connector/Net, которые являются выровненные того, как Microsoft обрабатывает
SqlCommand.CommandTimeout
. Это свойство является совокупным тайм-аутом для всех
сетевых чтений и записей во время выполнения команды или обработки результатов. Тайм-аут может все еще произойти
в MySqlReader.Read
метод после первой строки возвращается, и не включает
пользовательское время обработки, только операции IO. 6.2 использования реализации базовое потоковое средство
тайм-аута, так более эффективно в этом, оно не требует дополнительного потока таймера, как имел место с
предыдущей реализацией.
Более подробная информация об этом может быть найдена в соответствующей