Есть ли Любое Различие Между SqlConnection. CreateCommand и новый SqlCommand?

Начиная с базового кода, настройте структуру кадра выходных данных. Затем выполните цикл и введите значения точности на каждой итерации. Этот метод также «выравнивает» вложенный цикл и избавляет от вашей переменной c, которая конфликтует со встроенной функцией c().

kerna <- c("rbfdot","polydot","vanilladot","tanhdot","laplacedot",
           "besseldot","anovadot","splinedot")

# Create dataframe to store output data
df <- data.frame(kerna = rep(kerna, each = 100), 
                 cValues = rep(1:100, times = length(kerna)),
                 accuracyValues = NA,
                 stringsAsFactors = F)

# Define a for loop to calculate accuracy for different values of C and kernel
for (i in 1:nrow(df)){
  ker <- df$kerna[i]
  j <- df$cValues[i]
  model <- ksvm(V11~V1+V2+V3+V4+V5+V6+V7+V8+V9+V10,
                data = credit_card_data,
                type ="C-svc",
                kernel = ker,
                C=j,
                scaled =TRUE)
  pred <- predict(model,credit_card_data[,1:10])
  accuracy <- sum(pred== credit_card_data$V11)/nrow(credit_card_data)

  # Insert accuracy into df$accuracyValues
  df$accuracyValues[i] <- accuracy;
}
29
задан Gonzalo.- 23 April 2017 в 15:39
поделиться

4 ответа

Нет, это одно и то же.

Я разобрал SqlConnection.CreateCommand и обнаружил следующее:

public SqlCommand CreateCommand()
{
        return new SqlCommand(null, this);
}

, что доказывает, что они действительно одно и то же.

39
ответ дан 28 November 2019 в 01:22
поделиться

Они делают то же самое. Обоснование SqlConnection.CreateCommand заключается в реализации заводской модели.

12
ответ дан Mehrdad Afshari 28 November 2019 в 01:22
поделиться

Это может быть само собой разумеющимся, но для полноты есть одно отличие. Если вы создаете SqlCommand, вы можете передать CommandText в качестве параметра. Если вы разрешите SqlConnection CreateCommand, то нет никаких условий для предоставления CommandText. Так как вы можете просто установить свойство CommandText SqlCommand, различие довольно тонкое, но оно существует.

SqlConnection db = new SqlConnection();
SqlCommand cmd = db.CreateCommand();
cmd.CommandText = "select @@version";

или

SqlConnection db = new SqlConnection();
SqlCommand cmd = new SqlCommand("select @@version", db);
1
ответ дан Prof Von Lemongargle 28 November 2019 в 01:22
поделиться

Функционально они точно такие же.

Однако SqlConnection.CreateCommand () позволяет вам быть более независимым от того, какой тип БД вы используете. Например, вместо того, чтобы передавать экземпляр SqlConnection , вы можете передать его как DbConnection , что даст DbCommand .

8
ответ дан 28 November 2019 в 01:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: